1 /* PR 34808 */ 2 /* { dg-do compile } 3 /* { dg-options "-fno-tree-dominator-opts" } */ 4 5 extern int flags; 6 7 struct r { int code; int val;}; 8 9 void bar (void); 10 void baz (void); 11 12 int foo(struct r * home)13foo (struct r *home) 14 { 15 int n = 0; 16 int regno = -1; 17 18 if (home->code == 0) 19 regno = home->val; 20 21 if (home->code == 1) 22 bar (); 23 else if (regno >= 0) 24 n = (regno == 16 25 ? 16 26 : (regno - (unsigned long long) (flags != 0 ? 63 : 15) 27 ? regno - 128 28 : -1)); 29 30 baz (); 31 return n; 32 } 33