From: Jason Merrill Date: Wed, 30 Oct 2013 19:51:23 +0000 (-0400) Subject: semantics.c (finish_compound_literal): Don't create a static variable inside cp_uneva... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=afbb631e67b011f5d68dabf3f42bfca846f27fc1;p=gcc.git semantics.c (finish_compound_literal): Don't create a static variable inside cp_unevaluated_operand. * semantics.c (finish_compound_literal): Don't create a static variable inside cp_unevaluated_operand. From-SVN: r204228 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index f71c239e58f..ba55d805f9e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2013-10-30 Jason Merrill + * semantics.c (finish_compound_literal): Don't create a static variable + inside cp_unevaluated_operand. + * init.c (push_base_cleanups): Check ANON_AGGR_TYPE_P. 2013-10-30 Tobias Burnus diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index e616196f7dc..bbdf81ad961 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -2516,6 +2516,7 @@ finish_compound_literal (tree type, tree compound_literal, if ((!at_function_scope_p () || CP_TYPE_CONST_P (type)) && TREE_CODE (type) == ARRAY_TYPE && !TYPE_HAS_NONTRIVIAL_DESTRUCTOR (type) + && !cp_unevaluated_operand && initializer_constant_valid_p (compound_literal, type)) { tree decl = create_temporary_var (type);