aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/tree.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2010-06-04 17:21:02 -0400
committerJason Merrill <jason@gcc.gnu.org>2010-06-04 17:21:02 -0400
commitd8a0d13e4fad752b3c3d9ff3f97b03407bf8c726 (patch)
tree500e4c05021ec336143ffa832ff59b30fe09dc33 /gcc/cp/tree.c
parentbdc6b402f90bde66ba88df483f4f8758f656f840 (diff)
downloadgcc-d8a0d13e4fad752b3c3d9ff3f97b03407bf8c726.zip
gcc-d8a0d13e4fad752b3c3d9ff3f97b03407bf8c726.tar.gz
gcc-d8a0d13e4fad752b3c3d9ff3f97b03407bf8c726.tar.bz2
call.c (build_conditional_expr): Never fold in unevaluated context.
* call.c (build_conditional_expr): Never fold in unevaluated context. * tree.c (build_aggr_init_expr): Propagate TREE_NOTHROW. * semantics.c (simplify_aggr_init_expr): Likewise. * typeck.c (merge_types): Call merge_exception_specifiers. * decl.c (duplicate_decls): Check DECL_SOURCE_LOCATION rather than DECL_ANTICIPATED for preferring new type. From-SVN: r160296
Diffstat (limited to 'gcc/cp/tree.c')
-rw-r--r--gcc/cp/tree.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index 9a5ee0f..c4b9dd5 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -418,6 +418,7 @@ build_aggr_init_expr (tree type, tree init)
AGGR_INIT_EXPR_ARGP (init));
TREE_SIDE_EFFECTS (rval) = 1;
AGGR_INIT_VIA_CTOR_P (rval) = is_ctor;
+ TREE_NOTHROW (rval) = TREE_NOTHROW (init);
}
else
rval = init;