diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/tree-ssa/pr24231-2.C')
-rw-r--r-- | gcc/testsuite/g++.dg/tree-ssa/pr24231-2.C | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr24231-2.C b/gcc/testsuite/g++.dg/tree-ssa/pr24231-2.C new file mode 100644 index 000000000..188b1a26b --- /dev/null +++ b/gcc/testsuite/g++.dg/tree-ssa/pr24231-2.C @@ -0,0 +1,41 @@ +/* { 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 + { + i = g(); + }catch(...) + {} + t.i = j; + i = 2; + int h = t.i; + ghh (h); + + g(); + }catch(...) + {} + return i; +} |