From afdc9016cd75c0ac0c9f439dc7fd4d5a4a4392d7 Mon Sep 17 00:00:00 2001 From: sayle Date: Sun, 19 Dec 2004 20:11:15 +0000 Subject: [PATCH] PR middle-end/19068 * g++.dg/opt/max1.C: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92388 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/opt/max1.C | 29 +++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 gcc/testsuite/g++.dg/opt/max1.C diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ab2a082..2de4305 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-12-19 Roger Sayle + + PR middle-end/19068 + * g++.dg/opt/max1.C: New test case. + 2004-12-18 Eric Botcazou * gcc.dg/fdata-sections-1.c: New test. diff --git a/gcc/testsuite/g++.dg/opt/max1.C b/gcc/testsuite/g++.dg/opt/max1.C new file mode 100644 index 0000000..714116b --- /dev/null +++ b/gcc/testsuite/g++.dg/opt/max1.C @@ -0,0 +1,29 @@ +/* PR middle-end/19068 */ +/* Test case by Andrew Pinski */ +/* { dg-do run } */ +/* { dg-options "-O2" } */ + +extern "C" void abort (void); + +long fff[10]; + +void f(long a) +{ + int i; + a = *((long*)(a+5)) >? *((long*)(a+1)); + + for(i=0;i<10;i++) + fff[i] = a; +} + +int main(void) +{ + int i; + long a[2] = {10,5}; + f((long)(&a)-1); + for(i = 0;i<10;i++) + if (fff[i]!=10) + abort (); + return 0; +} + -- 2.7.4