diff options
author | Neil Booth <neil@daikokuya.demon.co.uk> | 2002-03-21 18:39:29 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2002-03-21 18:39:29 +0000 |
commit | 43577e6bd7bb992e87d22b6ac5e13787f8a96af3 (patch) | |
tree | b565716472649ba4ff8e84298f2475f0afd90105 /gcc/stor-layout.c | |
parent | 5b19b10c6b457c9d02812a2a68a73fa5d39086db (diff) | |
download | gcc-43577e6bd7bb992e87d22b6ac5e13787f8a96af3.zip gcc-43577e6bd7bb992e87d22b6ac5e13787f8a96af3.tar.gz gcc-43577e6bd7bb992e87d22b6ac5e13787f8a96af3.tar.bz2 |
Makefile.in (fold-const.o, [...]): Update.
* Makefile.in (fold-const.o, stor-layout.o, stmt.o,
sdbout.o, profile.o): Update.
* c-common.c (c_common_nodes_and_builtins): Use pushdecl
langhook.
* c-common.h (gettags): Move here from tree.h.
* c-tree.h (pushdecl, pushlevel, poplevel, set_block,
insert_block, getdecls, kept_level_p, global_bindings_p): New.
* dbxout.c (dbxout_init): Use getdecls langhook.
* expr.c (expand_expr): Use insert_block langhook.
* fold-const.c: Include langhooks.h.
(fold_range_test, fold_binary_op_with_conditional_arg,
fold): Use global_bindings_p langhook.
* integrate.c (expand_inline_function): Use insert_block langhook.
* langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
LANG_HOOKS_GETDECLS): New.
(LANG_HOOKS_INITIALIZER): Update.
* langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
langhook.
* langhooks.h (struct lang_hooks_for_decls): New.
(struct lang_hooks): Update.
* profile.c: Include langhooks.h.
(output_func_start_profiler): Use new langhooks.
* sdbout.c: Include langhooks.h.
(sdbout_init, sdbout_finish): Use getdecls langhook.
* stmt.c: Include langhooks.h.
(expand_fixup, fixup_gotos): Use new langhooks.
* stor-layout.c: Include langhooks.h.
(variable_size): Use global_bindings_p langhook.
* toplev.c (compile_file): Use getdecls langhook.
* tree-inline.c (remap_block): Use insert_block langhook.
* tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
cp:
* cp-tree.h (pushdecl, pushlevel, poplevel, set_block,
insert_block, getdecls, global_bindings_p): New.
java:
* cp-tree.h (pushdecl, pushlevel, poplevel, set_block,
insert_block, getdecls, kept_level_p, global_bindings_p): New.
f:
* cp-tree.h (pushdecl, pushlevel, poplevel, set_block,
insert_block, getdecls, global_bindings_p): New.
From-SVN: r51136
Diffstat (limited to 'gcc/stor-layout.c')
-rw-r--r-- | gcc/stor-layout.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 4a8d7d0..8295000 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -31,6 +31,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "toplev.h" #include "ggc.h" #include "target.h" +#include "langhooks.h" /* Set to one when set_sizetype has been called. */ static int sizetype_set; @@ -151,7 +152,8 @@ variable_size (size) just return SIZE unchanged. Likewise for self-referential sizes and constant sizes. */ if (TREE_CONSTANT (size) - || global_bindings_p () < 0 || contains_placeholder_p (size)) + || (*lang_hooks.decls.global_bindings_p) () < 0 + || contains_placeholder_p (size)) return size; size = save_expr (size); @@ -167,7 +169,7 @@ variable_size (size) if (TREE_CODE (size) == SAVE_EXPR) SAVE_EXPR_PERSISTENT_P (size) = 1; - if (global_bindings_p ()) + if ((*lang_hooks.decls.global_bindings_p) ()) { if (TREE_CONSTANT (size)) error ("type size can't be explicitly evaluated"); |