/* $ x86_64-unknown-linux-gnu-gcc-5.0.0 gcc-test.c -o gcc-test.out -O2 $ ./gcc-test.out Floating point exception (core dumped) $ x86_64-unknown-linux-gnu-gcc-5.0.0 -v Using built-in specs. COLLECT_GCC=x86_64-unknown-linux-gnu-gcc-5.0.0 COLLECT_LTO_WRAPPER=/usr/local/x86_64-tools/gcc-5.0.0/libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /home/orange3/gcc-master/configure --prefix=/usr/local/x86_64-tools/gcc-5.0.0/ --with-gmp=/usr/local/gmp-5.1.1/ --with-mpfr=/usr/local/mpfr-3.1.2/ --with-mpc=/usr/local/mpc-1.0.1/ --disable-multilib --disable-nls --enable-languages=c Thread model: posix gcc version 5.0.0 20140922 (experimental) (GCC) */ #include #define OK() printf("@OK@\n") #define NG(fmt,val) printf("@NG@ (test = " fmt ")\n",val) signed int x66 = 1; unsigned int x76 = 1U; unsigned int x293 = 1U; signed int x382 = 1; signed int x398 = 1; unsigned int x621 = 1U; unsigned int t33 = 1U; int main (void) { signed int t34 = 1; t33 = ((((signed int)31/((unsigned int)1U>((signed int)1>>x621)))||((signed int)1>>(x398/(signed int)1)))/(unsigned int)2U); t34 = ((signed int)31/((((signed int)1*((signed int)1*(x293|x66)))|x382)||((unsigned int)0U||(x76||(unsigned int)0U)))); if (t34 == 31) { OK(); } else { NG("%d", t34); } return 0; }