/* PR tree-optimization/60971 */ /* { dg-do run } */ #ifndef __cplusplus #define bool _Bool #endif volatile unsigned char c; __attribute__((noinline)) unsigned char foo (void) { return c; } __attribute__((noinline)) bool bar (void) { return foo () & 1; } int main () { c = 0x41; c = bar (); if (c != 1) __builtin_abort (); c = 0x20; c = bar (); if (c != 0) __builtin_abort (); return 0; }