diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 69a716e69090..285b52e4db41 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2003-10-02 Jakub Jelinek + + * g++.dg/opt/cond1.C: New test. + 2003-10-01 Kelley Cook * gcc.dg/Wold-style-definition-2.c: New testcase. diff --git a/gcc/testsuite/g++.dg/opt/cond1.C b/gcc/testsuite/g++.dg/opt/cond1.C new file mode 100644 index 000000000000..ae8fa4d45d9f --- /dev/null +++ b/gcc/testsuite/g++.dg/opt/cond1.C @@ -0,0 +1,24 @@ +// { dg-do run } +// { dg-options "-O2" } + +struct D { int x; }; +struct W +{ + W () {} + D & operator * () { return d; } + D d; +}; + +int +foo (int y) +{ + W m; + (*m).x = (y > 1 ? y : 0); + return (*m).x; +} + +int +main () +{ + return (foo (6) != 6); +}