1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-pre" } */
3 
4 struct S {
5   int i;
6 };
7 
8 extern struct S foo (void);
9 extern int foo2 (void);
10 
11 struct S s, s2;
12 
bar(int c)13 int bar (int c) {
14   int r;
15 
16   if (c)
17     {
18       s = foo ();
19       r = foo2 ();
20     }
21   else
22     {
23       s2 = foo ();
24       r = foo2 ();
25     }
26 
27   return r;
28 }
29 
30 /* { dg-final { scan-tree-dump-times "foo \\(" 2 "pre"} } */
31 /* { dg-final { scan-tree-dump-times "foo2 \\(" 2 "pre"} } */
32 /* { dg-final { cleanup-tree-dump "pre" } } */
33