/* { dg-do compile } */ | |
/* { dg-options "-O2 -ftree-tail-merge -fdump-tree-pre" } */ | |
struct S { | |
int i; | |
}; | |
extern struct S foo (void); | |
extern int foo2 (void); | |
struct S s, s2; | |
int bar (int c) { | |
int r; | |
if (c) | |
{ | |
s = foo (); | |
r = foo2 (); | |
} | |
else | |
{ | |
s2 = foo (); | |
r = foo2 (); | |
} | |
return r; | |
} | |
/* { dg-final { scan-tree-dump-times "foo \\(" 2 "pre"} } */ | |
/* { dg-final { scan-tree-dump-times "foo2 \\(" 2 "pre"} } */ |