Ковыряю библиотеку писанную под литлэндин-бигэндинг. За условия
компиляции отвечает макрос //
#if BYTE_ORDER == LITTLE_ENDIAN
#define htoes(x) ((uint16_t)(x))
#define htoel(x) ((uint32_t)(x))
#else
#define htoes(x) CC_SWAP16 ((uint16_t)(x))
#define htoel(x) CC_SWAP32 ((uint32_t)(x))
#endif
#define etohs(x) htoes (x)
#define etohl(x) htoel (x)
//
коде полно вызовов макроса, в том числе и для переменных волитейт.
volatile int a;
a= etohl(a);
И получается компилятор будет вздрачивать эту переменную почем зря. Не нравится мне этот онанизм! как победить?