diff options
author | Jakub Jelinek <jakub@redhat.com> | 2014-03-25 10:30:10 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2014-03-25 10:30:10 +0100 |
commit | 8bcc90b0af63817589ea34fe0aff5d785d704444 (patch) | |
tree | 95d6d543658e14b87d9a9992c639185f613e010f | |
parent | 51ee05d03862c94da9d204fcb26c3c7602d40a25 (diff) | |
download | gcc-8bcc90b0af63817589ea34fe0aff5d785d704444.zip gcc-8bcc90b0af63817589ea34fe0aff5d785d704444.tar.gz gcc-8bcc90b0af63817589ea34fe0aff5d785d704444.tar.bz2 |
re PR c++/60331 (ICE with OpenMP #pragma omp declare reduction in template class)
PR c++/60331
* semantics.c (potential_constant_expression_1): Handle
DECL_EXPR.
* testsuite/libgomp.c++/udr-11.C: New test.
* testsuite/libgomp.c++/udr-12.C: New test.
* testsuite/libgomp.c++/udr-13.C: New test.
* testsuite/libgomp.c++/udr-14.C: New test.
* testsuite/libgomp.c++/udr-15.C: New test.
* testsuite/libgomp.c++/udr-16.C: New test.
* testsuite/libgomp.c++/udr-17.C: New test.
* testsuite/libgomp.c++/udr-18.C: New test.
* testsuite/libgomp.c++/udr-19.C: New test.
From-SVN: r208806
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 1 | ||||
-rw-r--r-- | libgomp/ChangeLog | 13 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.c++/udr-11.C | 4 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.c++/udr-12.C | 4 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.c++/udr-13.C | 4 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.c++/udr-14.C | 4 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.c++/udr-15.C | 4 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.c++/udr-16.C | 4 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.c++/udr-17.C | 4 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.c++/udr-18.C | 4 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.c++/udr-19.C | 4 |
12 files changed, 56 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e022990..a5a3695 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2014-03-25 Jakub Jelinek <jakub@redhat.com> + + PR c++/60331 + * semantics.c (potential_constant_expression_1): Handle + DECL_EXPR. + 2014-03-24 Adam Butcher <adam@jessamine.co.uk> PR c++/60627 diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 886fbb8..bb5246a 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -10253,6 +10253,7 @@ potential_constant_expression_1 (tree t, bool want_rval, tsubst_flags_t flags) case DO_STMT: case FOR_STMT: case WHILE_STMT: + case DECL_EXPR: if (flags & tf_error) error ("expression %qE is not a constant-expression", t); return false; diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index e617561..d3cda25 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,16 @@ +2014-03-25 Jakub Jelinek <jakub@redhat.com> + + PR c++/60331 + * testsuite/libgomp.c++/udr-11.C: New test. + * testsuite/libgomp.c++/udr-12.C: New test. + * testsuite/libgomp.c++/udr-13.C: New test. + * testsuite/libgomp.c++/udr-14.C: New test. + * testsuite/libgomp.c++/udr-15.C: New test. + * testsuite/libgomp.c++/udr-16.C: New test. + * testsuite/libgomp.c++/udr-17.C: New test. + * testsuite/libgomp.c++/udr-18.C: New test. + * testsuite/libgomp.c++/udr-19.C: New test. + 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com> Update copyright years diff --git a/libgomp/testsuite/libgomp.c++/udr-11.C b/libgomp/testsuite/libgomp.c++/udr-11.C new file mode 100644 index 0000000..5d01446 --- /dev/null +++ b/libgomp/testsuite/libgomp.c++/udr-11.C @@ -0,0 +1,4 @@ +// { dg-do run } +// { dg-options "-fopenmp -std=c++11" } + +#include "udr-1.C" diff --git a/libgomp/testsuite/libgomp.c++/udr-12.C b/libgomp/testsuite/libgomp.c++/udr-12.C new file mode 100644 index 0000000..58112eb --- /dev/null +++ b/libgomp/testsuite/libgomp.c++/udr-12.C @@ -0,0 +1,4 @@ +// { dg-do run } +// { dg-options "-fopenmp -std=c++11" } + +#include "udr-2.C" diff --git a/libgomp/testsuite/libgomp.c++/udr-13.C b/libgomp/testsuite/libgomp.c++/udr-13.C new file mode 100644 index 0000000..a9c8c60 --- /dev/null +++ b/libgomp/testsuite/libgomp.c++/udr-13.C @@ -0,0 +1,4 @@ +// { dg-do run } +// { dg-options "-fopenmp -std=c++11" } + +#include "udr-3.C" diff --git a/libgomp/testsuite/libgomp.c++/udr-14.C b/libgomp/testsuite/libgomp.c++/udr-14.C new file mode 100644 index 0000000..6cb4829 --- /dev/null +++ b/libgomp/testsuite/libgomp.c++/udr-14.C @@ -0,0 +1,4 @@ +// { dg-do run } +// { dg-options "-fopenmp -std=c++11" } + +#include "udr-4.C" diff --git a/libgomp/testsuite/libgomp.c++/udr-15.C b/libgomp/testsuite/libgomp.c++/udr-15.C new file mode 100644 index 0000000..d6aaf87 --- /dev/null +++ b/libgomp/testsuite/libgomp.c++/udr-15.C @@ -0,0 +1,4 @@ +// { dg-do run } +// { dg-options "-fopenmp -std=c++11" } + +#include "udr-5.C" diff --git a/libgomp/testsuite/libgomp.c++/udr-16.C b/libgomp/testsuite/libgomp.c++/udr-16.C new file mode 100644 index 0000000..acf4ff2 --- /dev/null +++ b/libgomp/testsuite/libgomp.c++/udr-16.C @@ -0,0 +1,4 @@ +// { dg-do run } +// { dg-options "-fopenmp -std=c++11" } + +#include "udr-6.C" diff --git a/libgomp/testsuite/libgomp.c++/udr-17.C b/libgomp/testsuite/libgomp.c++/udr-17.C new file mode 100644 index 0000000..a5b62f8 --- /dev/null +++ b/libgomp/testsuite/libgomp.c++/udr-17.C @@ -0,0 +1,4 @@ +// { dg-do run } +// { dg-options "-fopenmp -std=c++11" } + +#include "udr-7.C" diff --git a/libgomp/testsuite/libgomp.c++/udr-18.C b/libgomp/testsuite/libgomp.c++/udr-18.C new file mode 100644 index 0000000..5911e8e --- /dev/null +++ b/libgomp/testsuite/libgomp.c++/udr-18.C @@ -0,0 +1,4 @@ +// { dg-do run } +// { dg-options "-fopenmp -std=c++11" } + +#include "udr-8.C" diff --git a/libgomp/testsuite/libgomp.c++/udr-19.C b/libgomp/testsuite/libgomp.c++/udr-19.C new file mode 100644 index 0000000..801cab4 --- /dev/null +++ b/libgomp/testsuite/libgomp.c++/udr-19.C @@ -0,0 +1,4 @@ +// { dg-do run } +// { dg-options "-fopenmp -std=c++11" } + +#include "udr-9.C" |