#define PAGE_SIZE 32768 #define PAGE_SHIFT \     ((PAGE_SIZE > 65536) ? (-1) \     : ((const unsigned long[]){12,13,14,-1,15,-1,-1,-1,16}[PAGE_SIZE>>13])) int test() { return PAGE_SHIFT; } # gcc test.c -c -fomit-frame-pointer -O2 -S # (gcc version 3.4.2 20040820 (prerelease) (PLD Linux)) test:         subl    $60, %esp <-- what for?         movl    $15, %eax         addl    $60, %esp         ret -- Summary: unwanted stack allocation Product: gcc Version: 3.4.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at pld-linux dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: pentium3-pld-linux GCC host triplet: pentium3-pld-linux GCC target triplet: pentium3-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17230