summaryrefslogtreecommitdiff
path: root/gcc/cp/init.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2011-04-07 21:47:24 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2011-04-07 21:47:24 +0000
commit3d4bed936d8f6cdea0e9f0dc585003f9a3ef8360 (patch)
tree5171555c7e129348caefab585cca1c46559af02a /gcc/cp/init.c
parent74b7a9bc56cb7d983e66d88ae80b2a6f299fe3d7 (diff)
downloadgcc-3d4bed936d8f6cdea0e9f0dc585003f9a3ef8360.tar.gz
PR c++/48450
* tree.c (build_cplus_new, build_aggr_init_expr): Take complain. (bot_manip): Adjust. * cp-tree.h: Adjust. * call.c (convert_like_real, build_cxx_call): Adjust. (perform_direct_initialization_if_possible): Adjust. * cvt.c (ocp_convert): Adjust. * init.c (build_value_init): Adjust. * semantics.c (maybe_add_lambda_conv_op): Adjust. * typeck.c (unary_complex_lvalue, cp_build_modify_expr): Adjust. * typeck2.c (build_functional_cast): Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172143 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/init.c')
-rw-r--r--gcc/cp/init.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 005f8d6dfe2..313169072b4 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -342,7 +342,8 @@ build_value_init (tree type, tsubst_flags_t complain)
(type,
build_special_member_call (NULL_TREE, complete_ctor_identifier,
NULL, type, LOOKUP_NORMAL,
- complain));
+ complain),
+ complain);
else if (TREE_CODE (type) != UNION_TYPE && TYPE_NEEDS_CONSTRUCTING (type))
{
/* This is a class that needs constructing, but doesn't have
@@ -354,7 +355,7 @@ build_value_init (tree type, tsubst_flags_t complain)
NULL, type, LOOKUP_NORMAL, complain);
if (ctor != error_mark_node)
{
- ctor = build_aggr_init_expr (type, ctor);
+ ctor = build_aggr_init_expr (type, ctor, complain);
AGGR_INIT_ZERO_FIRST (ctor) = 1;
}
return ctor;