diff options
author | Mark Mitchell <mmitchel@gcc.gnu.org> | 1999-09-12 02:45:30 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 1999-09-12 02:45:30 +0000 |
commit | 5868eb4e0aa53750d7b6f916e5da5118961d083c (patch) | |
tree | 28184da20863a95f115b04d3f240978e07f36f9a /gcc/cp/expr.c | |
parent | 1ccbefcef21836d354e28c07e92fe9a5b5eaedcd (diff) | |
download | gcc-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.c | 10 |
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 |