diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/pr119291.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/pr119291.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr119291.c b/gcc/testsuite/gcc.c-torture/execute/pr119291.c new file mode 100644 index 0000000..41eadf0 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr119291.c @@ -0,0 +1,33 @@ +/* PR rtl-optimization/119291 */ + +int a; +long c; + +__attribute__((noipa)) void +foo (int x) +{ + if (x != 0) + __builtin_abort (); + a = 42; +} + +int +main () +{ + int e = 1; +lab: + if (a < 2) + { + int b = e; + _Bool d = a != 0; + _Bool f = b != 0; + unsigned long g = -(d & f); + unsigned long h = c & g; + unsigned long i = ~c; + e = -(i & h); + c = e != 0; + a = ~e + b; + foo (e); + goto lab; + } +} |