Size: a a a

2020 August 08

s

std::slavik in supapro.cxx
че - это получается тоже UB?
источник

s

std::slavik in supapro.cxx
а я в этом месте как раз правил - т.к. не определял один из компиляторов дефайн соответствующий
источник

s

std::slavik in supapro.cxx
потому что и не обязан
источник

s

std::slavik in supapro.cxx
может определять
источник

s

std::slavik in supapro.cxx
и от того что я его определил явно сам - не возникло никакого UB
источник

DP

Denis Paukaev in supapro.cxx
Завязывайте уже
источник

DP

Denis Paukaev in supapro.cxx
Сказали что будут проблемы, рано или поздно
источник

s

std::slavik in supapro.cxx
ну я с этим не спорю
источник

DP

Denis Paukaev in supapro.cxx
Кому хочется пусть окунается
источник

VS

Vlad Serebrennikov in supapro.cxx
std::slavik
#if defined ( __CC_ARM )     /* Keil */
   #define CODESECT AREA     ||.text||, CODE, READONLY, ALIGN=2
   #define LABEL
#elif defined ( __GNUC__ )     /* GCC */
   #define THUMB .thumb
   #define CODESECT .section .text
   #define EXPORT .global
   #define PROC :
   #define LABEL :
   #define ENDP
   #define END

   .syntax unified
#elif defined ( __IASMARM__ )  /* IAR */
   #define CODESECT SECTION `.text`:CODE
   #define PROC
   #define LABEL
   #define ENDP
   #define EXPORT PUBLIC
#elif defined ( __CSMC__ )     /* Cosmic */
 #define  CODESECT  switch .text
 #define THUMB
 #define EXPORT  xdef
 #define PROC  :
 #define LABEL  :
 #define ENDP
 #define arm_bitreversal_32 _arm_bitreversal_32
#elif defined ( __TI_ARM__ )   /* TI ARM */
   #define THUMB    .thumb
   #define CODESECT .text
   #define EXPORT   .global
   #define PROC     : .asmfunc
   #define LABEL    :
   #define ENDP     .endasmfunc
   #define END
#endif

 CODESECT
 THUMB
разница в том, что не ты вводишь эти идентификаторы, а лишь проверяешь
источник

s

std::slavik in supapro.cxx
мне сказали что у меня UB
источник

s

std::slavik in supapro.cxx
Vlad Serebrennikov
разница в том, что не ты вводишь эти идентификаторы, а лишь проверяешь
ну окей - я передам адрес памяти и компилятор в дефайны
источник

s

std::slavik in supapro.cxx
std::slavik
 "ARMC6": {
   "common": [
     "-c",
     "-Wall",
     "--target=arm-arm-none-eabi",
     "-mthumb",
     "-O3",
     "-Wno-armcc-pragma-push-pop",
     "-Wno-armcc-pragma-anon-unions",
     "-Wno-reserved-user-defined-literal",
     "-Wno-deprecated-register",
     "-DMULADDC_CANNOT_USE_R7",
     "-fdata-sections",
     "-mfloat-abi=hard",
     "-fno-exceptions",
     "-MMD",
     "-D_LIBCPP_EXTERN_TEMPLATE(...)=",
     "-fshort-enums",
     "-fshort-wchar",
     "-DNDEBUG",
     "-DOPUS_ARM_ASM",
     "-DHAVE_CONFIG_H",
     "-DMBED_CONF_MBED_TRACE_FEA_IPV6=0",
     "-DMBED_CONF_RTOS_PRESENT"
   ],
   "asm": [],
   "c": ["-D__ASSERT_MSG", "-std=gnu11"],
   "cxx": ["-fno-rtti", "-std=gnu++11"],
   "ld": ["--show_full_path", "--any_contingency", "--keep=os_cb_sections"]
 },
 "ARM": {
   "common": [
     "-c",
     "--gnu",
     "-Ospace",
     "--split_sections",
     "--apcs=interwork",
     "--brief_diagnostics",
     "--restrict",
     "--multibyte_chars",
     "-O3",
     "-DNDEBUG"
   ],
   "asm": [],
   "c": ["--md", "--no_depend_system_headers", "--c99", "-D__ASSERT_MSG"],
   "cxx": ["--cpp11", "--no_rtti", "--no_vla"],
   "ld": ["--show_full_path", "--any_contingency", "--keep=os_cb_sections"]
 },
вот сюда
источник

s

std::slavik in supapro.cxx
и в коде буду только проверять
источник

s

std::slavik in supapro.cxx
в чем принципиальная разница?
источник

s

std::slavik in supapro.cxx
в том что определяя это в коде - будет использована мое определение
источник

DP

Denis Paukaev in supapro.cxx
Да ок, можно уже закончить с этим ? 2 часа хрени какой то
источник

s

std::slavik in supapro.cxx
да - согласен
источник

DP

Denis Paukaev in supapro.cxx
Хочешь юзать - юзай
источник

s

std::slavik in supapro.cxx
не хочу, уже отрефакторил, но истина дороже)
источник