diff options
author | Volker Reichelt <reichelt@igpm.rwth-aachen.de> | 2004-07-16 00:25:59 +0000 |
---|---|---|
committer | Volker Reichelt <reichelt@gcc.gnu.org> | 2004-07-16 00:25:59 +0000 |
commit | a916927fb5f966bf29dd99e44e195c7d0b3c028b (patch) | |
tree | 01f6f3abe9670b6e62ada5992e43d60179e9a9ec | |
parent | 1373fd361f46c803f063bdbbf206d7e224e3843a (diff) | |
download | gcc-a916927fb5f966bf29dd99e44e195c7d0b3c028b.zip gcc-a916927fb5f966bf29dd99e44e195c7d0b3c028b.tar.gz gcc-a916927fb5f966bf29dd99e44e195c7d0b3c028b.tar.bz2 |
re PR rtl-optimization/16536 (Incorrect __restrict__ optimization in -O2)
PR rtl-optimization/16536
* gcc.c-torture/execute/restrict-1.c: New test.
From-SVN: r84791
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/restrict-1.c | 30 |
2 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8626dbb8..1f51638 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-07-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + PR rtl-optimization/16536 + * gcc.c-torture/execute/restrict-1.c: New test. + 2004-07-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> PR fortran/15324 diff --git a/gcc/testsuite/gcc.c-torture/execute/restrict-1.c b/gcc/testsuite/gcc.c-torture/execute/restrict-1.c new file mode 100644 index 0000000..3c5696c --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/restrict-1.c @@ -0,0 +1,30 @@ +/* PR rtl-optimization/16536 + Origin: Jeremy Denise <jeremy.denise@libertysurf.fr> + Reduced: Wolfgang Bangerth <bangerth@dealii.org> + Volker Reichelt <reichelt@igpm.rwth-aachen.de> */ + +extern void abort (); + +typedef struct +{ + int i, dummy; +} A; + +inline A foo (const A* p, const A* q) +{ + return (A){p->i+q->i}; +} + +void bar (A* __restrict__ p) +{ + *p=foo(p,p); + if (p->i!=2) + abort(); +} + +int main () +{ + A a={1}; + bar(&a); + return 0; +} |