/* PR tree-optimization/119614 */ /* { dg-do compile { target musttail } } */ /* { dg-options "-O2" } */ volatile int v; [[gnu::noinline]] double foo (int x) { v += x; return 0.5; } double bar (int x) { if (x == 42) [[gnu::musttail]] return foo (42); [[gnu::musttail]] return foo (32); } double baz (int x) { if (x == 5) return foo (42); return foo (32); }