1 /* This testcase failed, because scope containing baz was deleted
2    (spanned 0 basic blocks) and DWARF-2 couldn't find baz origin.  */
3 /* { dg-do compile } */
4 /* { dg-require-effective-target trampolines } */
5 
6 struct A { char *a, *b, *c, *d; };
7 
8 static int
bar(struct A * x)9 bar (struct A *x)
10 {
11   return x->c - x->b;
12 }
13 
14 void fnptr (void (*fn) (void));
15 
16 void
foo(void)17 foo (void)
18 {
19   struct A e;
20 
21   {
22     void baz (void)
23       {
24 	bar (&e);
25       }
26     fnptr (baz);
27   }
28   {
29     struct A *f;
30 
31     f = &e;
32     if (f->c - f->a > f->d - f->a)
33       f->c = f->d;
34   }
35 }
36