Hi Dan,
-O3 has issues. Don't use it. The GCC documentation is a bit odd, as it
seems to indicate that anything above -O2 is treated as -O2 in recent
versions. This is not the case -O3 is different to -O2, and is not
better :-\
Dan Miner wrote:
This function compiles OK with -O2 and does not with -O3.
(I'm typically using -O2 but tried -O3 out of curiosity.)
//====== Begin test.c============================
#include <io.h>
#include <signal.h>
typedef signed int SI_16;
typedef unsigned int UI_16;
typedef unsigned long UI_32;
What's wrong with using standard C99 things, like int16_t, uint16_t, and
uint32_t instead of creating your own non-standard names?
Regards,
Steve