/* PR tree-optimization/66688 */ /* { dg-do compile } */ /* { dg-options "-O2 -fno-reorder-blocks -fcompare-debug" } */ struct fdt_header { unsigned magic; } *a; int d; int __fswab32 (int p1) { return __builtin_bswap32 (p1); } void fdt_set_magic (int p1) { struct fdt_header *b = a; b->magic = __builtin_constant_p (p1) ? : __fswab32 (p1); } int _fdt_sw_check_header () { int c = ((struct fdt_header *) 1)->magic; if (c) return 1; return 0; } int fdt_finish () { if (_fdt_sw_check_header ()) if (d) return 0; fdt_set_magic (0); return 0; }