/* { dg-do compile } */ /* { dg-options "-O2 -fno-ipa-bit-cp -fdump-tree-optimized" } */ struct b {int b;}; struct a {int a; struct b b;}; void remove_any_mention (void); __attribute__ ((noinline)) static void test2 (struct b *b) { if (b) remove_any_mention (); } __attribute__ ((noinline)) static void test (struct a *a) { test2(a? &a->b : 0); } int foo() { test(0); return 0; } /* { dg-final { scan-tree-dump-not "remove_any_mention" "optimized" } } */