diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/tree-ssa/pr24231-1.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/tree-ssa/pr24231-1.C | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/tree-ssa/pr24231-1.C b/gcc-4.9/gcc/testsuite/g++.dg/tree-ssa/pr24231-1.C new file mode 100644 index 000000000..d3c053efd --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/tree-ssa/pr24231-1.C @@ -0,0 +1,42 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ +/* FRE testcase for PR 24231, problem with PRE coalescing abnormal phis. */ +struct f +{ + int i; +}; +struct h{h();}; +int g(void); +int g1(void) throw(); +int h2222(f*); +void ghh(int); + +int main(void) +{ + int i; + f t; + try + { + i = g1(); + try + { + i = g(); + }catch(...) + {} + int j = i; + try + { t.i = i; + i = g(); + }catch(...) + {} + i = 2; + int h = t.i; + ghh (h); + + g(); + }catch(...) + {} + return i; +} + + |