summaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2008-01-22 17:54:59 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2008-01-22 17:54:59 +0000
commit4e8c3ff8cad2efc5849b04d4a3f62187b77e2874 (patch)
tree712fa41a541c2fbde6cf1800ce291dd53cfea890 /gcc/cp
parent2d7d2a6f814f0d3616d21553de8cb7b8b0a45f3b (diff)
downloadgcc-4e8c3ff8cad2efc5849b04d4a3f62187b77e2874.tar.gz
gcc/testsuite
PR c++/34829: * g++.dg/ext/pr34829.C: New file. gcc/cp PR c++/34829: * init.c (build_new_1): Only disallow Java aggregates. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131732 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/init.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index eab41cfd03c..235f7cb4b25 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-22 Tom Tromey <tromey@redhat.com>
+
+ PR c++/34829:
+ * init.c (build_new_1): Only disallow Java aggregates.
+
2008-01-22 Jakub Jelinek <jakub@redhat.com>
PR c++/34607
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 202f3b68ebb..a6da19f1933 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -1,6 +1,6 @@
/* Handle initialization things in C++.
Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
@@ -1786,7 +1786,7 @@ build_new_1 (tree placement, tree type, tree nelts, tree init,
(alloc_fn,
build_tree_list (NULL_TREE, class_addr)));
}
- else if (TYPE_FOR_JAVA (elt_type))
+ else if (TYPE_FOR_JAVA (elt_type) && IS_AGGR_TYPE (elt_type))
{
error ("Java class %q#T object allocated using placement new", elt_type);
return error_mark_node;