/* $ clang clang-test.c -o clang-test.out -O0 -w $ ./clang-test.out @NG@ (test = 2) $ clang -v clang version 3.5.0 Target: x86_64-unknown-linux-gnu Thread model: posix Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.2 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.0 Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Selected multilib: .;@m64 */ #include #define OK() printf("@OK@\n") #define NG(fmt,val) printf("@NG@ (test = " fmt ")\n",val) int main (void) { unsigned int x6 = 1U; unsigned int x7 = 1U; signed int t0 = 1; double t1 = 1.0; t0 = ((signed int)1+((signed int)1%(x6>=x6))); t1 = ((double)1.0*((unsigned int)0U%x7)); if (t0 == 1) { OK(); } else { NG("%d", t0); } if (t1 == 0.0) { OK(); } else { NG("%0.15e", t1); } return 0; }