diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-05-17 08:42:47 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-05-17 08:42:47 +0000 |
commit | 4afa8ef312ca25cc40b15affa8b33294d2bacc61 (patch) | |
tree | 4e1059003fcc11ced87eaea21db27730e1747465 | |
parent | 87f7c31ef783d27c635cec533ca1d67789096966 (diff) | |
download | ppe42-gcc-4afa8ef312ca25cc40b15affa8b33294d2bacc61.tar.gz ppe42-gcc-4afa8ef312ca25cc40b15affa8b33294d2bacc61.zip |
PR c++/27491
* semantics.c (finish_compound_literal): Only set TREE_HAS_CONSTRUCTOR
on CONSTRUCTORs.
* g++.dg/init/brace5.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113847 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/init/brace5.C | 7 |
4 files changed, 16 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8a318578fb3..b54dfb84742 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,9 @@ 2006-05-17 Jakub Jelinek <jakub@redhat.com> + PR c++/27491 + * semantics.c (finish_compound_literal): Only set TREE_HAS_CONSTRUCTOR + on CONSTRUCTORs. + PR middle-end/27415 * parser.c (cp_parser_omp_parallel): Set OMP_PARALLEL_COMBINED on combined parallel workshare constructs. diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 1e315e2d123..f7a3b408f42 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -2033,7 +2033,8 @@ finish_compound_literal (tree type, VEC(constructor_elt,gc) *initializer_list) } /* Mark it as a compound-literal. */ - TREE_HAS_CONSTRUCTOR (compound_literal) = 1; + if (TREE_CODE (compound_literal) == CONSTRUCTOR) + TREE_HAS_CONSTRUCTOR (compound_literal) = 1; return compound_literal; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b5339b2ec1b..e610ce5552a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,11 +1,12 @@ 2006-05-17 Jakub Jelinek <jakub@redhat.com> + PR c++/27491 + * g++.dg/init/brace5.C: New test. + PR middle-end/27415 * gcc.dg/gomp/pr27415.c: New test. * g++.dg/gomp/pr27415.C: New test. -2006-05-17 Jakub Jelinek <jakub@redhat.com> - PR tree-optimization/27549 * g++.dg/tree-ssa/pr27549.C: New test. diff --git a/gcc/testsuite/g++.dg/init/brace5.C b/gcc/testsuite/g++.dg/init/brace5.C new file mode 100644 index 00000000000..696bbd676d0 --- /dev/null +++ b/gcc/testsuite/g++.dg/init/brace5.C @@ -0,0 +1,7 @@ +// PR c++/27491 +// { dg-do compile } +// { dg-options "" } + +int i = (int) { 0 }; +int j = (int) { i }; +int k = (int) { k }; |