1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-pre" } */
3 
4 /* Different stmt order.  */
5 
f(int c,int b,int d)6 int f(int c, int b, int d)
7 {
8   int r, r2, e;
9 
10   if (c)
11     {
12       r = b + d;
13       r2 = d - b;
14     }
15   else
16     {
17       r2 = d - b;
18       e = d + b;
19       r = e;
20     }
21 
22   return r - r2;
23 }
24 
25 /* { dg-final { scan-tree-dump-times "if " 0 "pre"} } */
26 /* { dg-final { scan-tree-dump-times "_.*\\\+.*_" 1 "pre"} } */
27 /* { dg-final { scan-tree-dump-times " - " 2 "pre"} } */
28 /* { dg-final { scan-tree-dump-not "Invalid sum" "pre"} } */
29 /* { dg-final { cleanup-tree-dump "pre" } } */
30