summaryrefslogtreecommitdiff
path: root/gcc/cp/expr.c
diff options
context:
space:
mode:
authorMark Mitchell <mmitchel@gcc.gnu.org>1999-09-12 02:45:30 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-09-12 02:45:30 +0000
commit5868eb4e0aa53750d7b6f916e5da5118961d083c (patch)
tree28184da20863a95f115b04d3f240978e07f36f9a /gcc/cp/expr.c
parent1ccbefcef21836d354e28c07e92fe9a5b5eaedcd (diff)
downloadgcc-5868eb4e0aa53750d7b6f916e5da5118961d083c.tar.gz
decl.c (add_decl_to_level): Remove TREE_PERMANENT assertion.
* decl.c (add_decl_to_level): Remove TREE_PERMANENT assertion. (init_decl_processing): Don't set TREE_PERMANENT for the error_mark_node. (start_decl): Don't rebuild non-permanent ARRAY_TYPEs. (grokdeclarator): Likewise. (grokparms): Don't check TREE_PERMANENT when building up lists. * decl2.c (grokfield): Don't assert TREE_PERMANENT. (mark_inline_for_output): Likewise. * expr.c (cplus_expand_expr): Don't check TREE_PERMANENT. * init.c (build_offset_ref): Don't check TREE_PERMANENT. * lex.c (check_newline): Don't check ggc_p; it is always one. * pt.c (process_template_parm): Don't check TREE_PERMANENT. * spew.c (yylex): Don't copy_node or probe_obstacks for non-permanent CONSTANTs and STRINGs. * tree.c (build_cplus_array_type_1): Don't fuss with TREE_PERMANENT on ARRAY_TYPEs. From-SVN: r29350
Diffstat (limited to 'gcc/cp/expr.c')
-rw-r--r--gcc/cp/expr.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c
index c1f72636c98..a7b823fa347 100644
--- a/gcc/cp/expr.c
+++ b/gcc/cp/expr.c
@@ -157,14 +157,10 @@ cplus_expand_expr (exp, target, tmode, modifier)
if (AGGR_INIT_VIA_CTOR_P (exp))
{
type = build_pointer_type (type);
- /* Don't clobber a value that might be part of a default
- parameter value. */
mark_addressable (slot);
- if (TREE_PERMANENT (args))
- args = tree_cons (0, build1 (ADDR_EXPR, type, slot),
- TREE_CHAIN (args));
- else
- TREE_VALUE (args) = build1 (ADDR_EXPR, type, slot);
+ args = tree_cons (NULL_TREE,
+ build1 (ADDR_EXPR, type, slot),
+ TREE_CHAIN (args));
call_target = 0;
}
else