Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.c-torture/execute/pr61673.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* PR rtl-optimization/61673 */ char e; __attribute__((noinline, noclone)) void bar (char x) { if (x != 0x54 && x != (char) 0x87) __builtin_abort (); } __attribute__((noinline, noclone)) void foo (const char *x) { char d = x[0]; int c = d; if ((c >= 0 && c <= 0x7f) == 0) e = d; bar (d); } __attribute__((noinline, noclone)) void baz (const char *x) { char d = x[0]; int c = d; if ((c >= 0 && c <= 0x7f) == 0) e = d; } int main () { const char c[] = { 0x54, 0x87 }; e = 0x21; foo (c); if (e != 0x21) __builtin_abort (); foo (c + 1); if (e != (char) 0x87) __builtin_abort (); e = 0x21; baz (c); if (e != 0x21) __builtin_abort (); baz (c + 1); if (e != (char) 0x87) __builtin_abort (); return 0; }