* tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
* optimize.c (remap_block): If we're compiling a clone, pass the
new block to insert_block.
From-SVN: r39761
+2001-02-16 Jason Merrill <jason@redhat.com>
+
+ * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
+
2001-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* .gdbinit: Rename to gdbinit.in.
Tue Feb 13 23:05:42 CET 2001 Jan Hubicka <jh@suse.cz>
- * regclass.c (init_reg_sets_1): Silence warning.
+ * regclass.c (init_reg_sets_1): Silence warning.
Tue Feb 13 22:03:07 CET 2001 Jan Hubicka <jh@suse.cz>
+2001-02-16 Jason Merrill <jason@redhat.com>
+
+ * optimize.c (remap_block): If we're compiling a clone, pass the
+ new block to insert_block.
+
2001-02-16 Mark Mitchell <mark@codesourcery.com>
* semantics.c (finish_asm_stmt): Robustify.
2001-02-08 Aldy Hernandez <aldyh@redhat.com>
- * cp/parse.y (component_constructor_declarator): allow optional
- parenthesess around constructor class name.
+ * parse.y (component_constructor_declarator): allow optional
+ parentheses around constructor class name.
2001-02-14 Nathan Sidwell <nathan@codesourcery.com>
tree old_block;
tree new_block;
tree old_var;
- tree *first_block;
tree fn;
/* Make the new block. */
}
/* We put the BLOCK_VARS in reverse order; fix that now. */
BLOCK_VARS (new_block) = nreverse (BLOCK_VARS (new_block));
- /* Attach this new block after the DECL_INITIAL block for the
- function into which this block is being inlined. In
- rest_of_compilation we will straighten out the BLOCK tree. */
fn = VARRAY_TREE (id->fns, 0);
- if (DECL_INITIAL (fn))
- first_block = &BLOCK_CHAIN (DECL_INITIAL (fn));
+ if (fn == current_function_decl)
+ /* We're building a clone; DECL_INITIAL is still error_mark_node, and
+ current_binding_level is the parm binding level. */
+ insert_block (new_block);
else
- first_block = &DECL_INITIAL (fn);
- BLOCK_CHAIN (new_block) = *first_block;
- *first_block = new_block;
+ {
+ /* Attach this new block after the DECL_INITIAL block for the
+ function into which this block is being inlined. In
+ rest_of_compilation we will straighten out the BLOCK tree. */
+ tree *first_block;
+ if (DECL_INITIAL (fn))
+ first_block = &BLOCK_CHAIN (DECL_INITIAL (fn));
+ else
+ first_block = &DECL_INITIAL (fn);
+ BLOCK_CHAIN (new_block) = *first_block;
+ *first_block = new_block;
+ }
/* Remember the remapped block. */
splay_tree_insert (id->decl_map,
(splay_tree_key) old_block,
#define BLOCK_SUPERCONTEXT(NODE) (BLOCK_CHECK (NODE)->block.supercontext)
/* Note: when changing this, make sure to find the places
that use chainon or nreverse. */
-#define BLOCK_CHAIN(NODE) TREE_CHAIN (NODE)
+#define BLOCK_CHAIN(NODE) TREE_CHAIN (BLOCK_CHECK (NODE))
#define BLOCK_ABSTRACT_ORIGIN(NODE) (BLOCK_CHECK (NODE)->block.abstract_origin)
#define BLOCK_ABSTRACT(NODE) (BLOCK_CHECK (NODE)->block.abstract_flag)