xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/gcc.dg/debug/debug-3.c (revision c87b03e512fc05ed6e0222f6fb0ae86264b1d05b)
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 
5 struct A { char *a, *b, *c, *d; };
6 
7 static int
bar(struct A * x)8 bar (struct A *x)
9 {
10   return x->c - x->b;
11 }
12 
13 void fnptr (void (*fn) (void));
14 
15 void
foo(void)16 foo (void)
17 {
18   struct A e;
19 
20   {
21     void baz (void)
22       {
23 	bar (&e);
24       }
25     fnptr (baz);
26   }
27   {
28     struct A *f;
29 
30     f = &e;
31     if (f->c - f->a > f->d - f->a)
32       f->c = f->d;
33   }
34 }
35