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



Reply via email to