summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2006-05-17 08:42:47 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2006-05-17 08:42:47 +0000
commit4afa8ef312ca25cc40b15affa8b33294d2bacc61 (patch)
tree4e1059003fcc11ced87eaea21db27730e1747465
parent87f7c31ef783d27c635cec533ca1d67789096966 (diff)
downloadppe42-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/ChangeLog4
-rw-r--r--gcc/cp/semantics.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/init/brace5.C7
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 };
OpenPOWER on IntegriCloud