1 /* Verify that bb-reorder re-inserts nested scopes properly. */ 2 /* { dg-do compile } */ 3 /* { dg-options "-dA" } */ 4 /* { dg-final { scan-assembler "xyzzy" } } */ 5 6 extern void abort (void); 7 8 struct A { char *a, *b, *c, *d; }; 9 10 static int bar2(struct A * x)11bar2 (struct A *x) 12 { 13 int a = x->c - x->b; 14 x->c += 26; 15 return a; 16 } 17 18 void fnptr (int *); 19 20 void foo(void)21foo (void) 22 { 23 struct A e; 24 25 if (bar2 (&e) < 0) 26 abort (); 27 { 28 int xyzzy; 29 fnptr (&xyzzy); 30 } 31 { 32 struct A *f; 33 34 f = &e; 35 if (f->c - f->a > f->d - f->a) 36 f->c = f->d; 37 } 38 } 39