// { dg-do run } // { dg-options "-O3" } extern "C" void abort (void); struct X { bool init; void foo() { if (!init) init = true; } void bar() { foo(); } }; typedef unsigned long long int uint64_t; uint64_t mask1, mask2; uint64_t calc() { return mask1 & mask2; } int main() { mask1 = 0x00000000FFFFFFFFull; mask2 = 0x000000000000FFFFull; uint64_t value = calc(); X().bar(); if(value != calc()) abort (); return 0; }