diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2009-04-01 16:31:29 +0000 |
---|---|---|
committer | H.J. Lu <hongjiu.lu@intel.com> | 2009-04-01 16:31:29 +0000 |
commit | 85dbf11761e33e5eea4d695c22c005ded4930d9b (patch) | |
tree | 035d603f5e8ebb3770c6fa71ef4de1309cd87312 | |
parent | 0aeaff510a83c403feb1899cd8113928528cad3c (diff) |
2009-04-01 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-04-01 H.J. Lu <hongjiu.lu@intel.com>
PR tree-optimization/35011
* g++.dg/other/pr35011.C: New.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@145414 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/other/pr35011.C | 26 |
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ed8155ab1ca..4e53a1c1580 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2009-04-01 H.J. Lu <hongjiu.lu@intel.com> + + Backport from mainline: + 2009-04-01 H.J. Lu <hongjiu.lu@intel.com> + + PR tree-optimization/35011 + * g++.dg/other/pr35011.C: New. + 2009-04-01 Jakub Jelinek <jakub@redhat.com> PR target/39226 diff --git a/gcc/testsuite/g++.dg/other/pr35011.C b/gcc/testsuite/g++.dg/other/pr35011.C new file mode 100644 index 00000000000..ca75516d6e1 --- /dev/null +++ b/gcc/testsuite/g++.dg/other/pr35011.C @@ -0,0 +1,26 @@ +// { dg-do compile } +// { dg-options "-O3 -fcheck-data-deps" } + +double foo(const double* p0, const double* p1, const double* q0) +{ + double d; + for (; p0 != p1; ++p0, ++q0) + d += *p0 * *q0; + return d; +} + +struct A +{ + double x[3]; + const double* begin() const { return x; } +}; + +struct B +{ + A a0, a1; + double d; + B(const A&); +}; + +B::B(const A& a) : a0(a), a1(a), d(foo(a0.begin(), a0.begin()+3, a1.begin())) +{} |