From 1df918ac8ec140974275e1d976d6d828789bfaa0 Mon Sep 17 00:00:00 2001 From: Daniel Berlin Date: Sat, 7 Apr 2007 00:19:46 +0000 Subject: in / 2007-04-06 Daniel Berlin in / 2007-04-06 Daniel Berlin * tree.c (staticp): No longer use staticp langhook. * langhooks.c (lhd_staticp): Removed. * langhooks.h (struct lang_hooks): Remove staticp. * c-common.c (c_staticp): Remove. * c-common.h (c_staticp): Ditto. * langhooks-defs.h (lhd_staticp): Ditto. (LHD_HOOKS_STATICP): Ditto * tree.h (gcc_assert_lowered): New macro. in cp/ 2007-04-06 Daniel Berlin * cp-objcp-common.c (cxx_staticp): Remove. * cp-objcp-common.h (LANG_HOOKS_STATICP): Remove. * cp-tree.h (cxx_staticp): From-SVN: r123636 --- gcc/ChangeLog | 11 +++++++++++ gcc/c-common.c | 9 --------- gcc/c-common.h | 2 -- gcc/c-objc-common.h | 2 -- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/cp-objcp-common.c | 15 --------------- gcc/cp/cp-objcp-common.h | 2 -- gcc/cp/cp-tree.h | 1 - gcc/langhooks-def.h | 3 --- gcc/langhooks.c | 8 -------- gcc/langhooks.h | 3 --- gcc/tree.c | 14 +++++--------- gcc/tree.h | 1 + 13 files changed, 23 insertions(+), 54 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 47a62ad..e6e5b7a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2007-04-06 Daniel Berlin + + * tree.c (staticp): No longer use staticp langhook. + * langhooks.c (lhd_staticp): Removed. + * langhooks.h (struct lang_hooks): Remove staticp. + * c-common.c (c_staticp): Remove. + * c-common.h (c_staticp): Ditto. + * langhooks-defs.h (lhd_staticp): Ditto. + (LHD_HOOKS_STATICP): Ditto + * tree.h (gcc_assert_lowered): New macro. + 2007-04-06 Zdenek Dvorak * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use diff --git a/gcc/c-common.c b/gcc/c-common.c index 8f71e691..af8b8aa 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -4294,15 +4294,6 @@ c_expand_body (tree fndecl) decl_fini_priority_lookup (fndecl)); } -/* Hook used by staticp to handle language-specific tree codes. */ - -tree -c_staticp (tree exp) -{ - return (TREE_CODE (exp) == COMPOUND_LITERAL_EXPR - && TREE_STATIC (COMPOUND_LITERAL_EXPR_DECL (exp)) - ? exp : NULL); -} /* Given a boolean expression ARG, return a tree representing an increment diff --git a/gcc/c-common.h b/gcc/c-common.h index b128e31..40025c3 100644 --- a/gcc/c-common.h +++ b/gcc/c-common.h @@ -825,8 +825,6 @@ extern bool vector_types_convertible_p (tree t1, tree t2, bool emit_lax_note); extern rtx c_expand_expr (tree, rtx, enum machine_mode, int, rtx *); extern void c_expand_body (tree); -extern tree c_staticp (tree); - extern void init_c_lex (void); extern void c_cpp_builtins (cpp_reader *); diff --git a/gcc/c-objc-common.h b/gcc/c-objc-common.h index f3f0867..00519c7 100644 --- a/gcc/c-objc-common.h +++ b/gcc/c-objc-common.h @@ -56,8 +56,6 @@ extern void c_initialize_diagnostics (diagnostic_context *); #define LANG_HOOKS_FINISH_INCOMPLETE_DECL c_finish_incomplete_decl #undef LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS #define LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS true -#undef LANG_HOOKS_STATICP -#define LANG_HOOKS_STATICP c_staticp #undef LANG_HOOKS_NO_BODY_BLOCKS #define LANG_HOOKS_NO_BODY_BLOCKS true #undef LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index f5b7ace..5d3491f 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2007-04-06 Daniel Berlin + + * cp-objcp-common.c (cxx_staticp): Remove. + * cp-objcp-common.h (LANG_HOOKS_STATICP): Remove. + * cp-tree.h (cxx_staticp): + 2007-04-04 Danny Smith * class.c (check_for_override): Don't remove dllmport attribute diff --git a/gcc/cp/cp-objcp-common.c b/gcc/cp/cp-objcp-common.c index af8eb94..f74c60a 100644 --- a/gcc/cp/cp-objcp-common.c +++ b/gcc/cp/cp-objcp-common.c @@ -200,21 +200,6 @@ cxx_types_compatible_p (tree x, tree y) return 0; } -tree -cxx_staticp (tree arg) -{ - switch (TREE_CODE (arg)) - { - case BASELINK: - return staticp (BASELINK_FUNCTIONS (arg)); - - default: - break; - } - - return NULL_TREE; -} - /* Stubs to keep c-opts.c happy. */ void push_file_scope (void) diff --git a/gcc/cp/cp-objcp-common.h b/gcc/cp/cp-objcp-common.h index 23e1f0f..2d40e22 100644 --- a/gcc/cp/cp-objcp-common.h +++ b/gcc/cp/cp-objcp-common.h @@ -59,8 +59,6 @@ extern tree objcp_tsubst_copy_and_build (tree, tree, tsubst_flags_t, #define LANG_HOOKS_EXPAND_DECL c_expand_decl #undef LANG_HOOKS_PARSE_FILE #define LANG_HOOKS_PARSE_FILE c_common_parse_file -#undef LANG_HOOKS_STATICP -#define LANG_HOOKS_STATICP cxx_staticp #undef LANG_HOOKS_DUP_LANG_SPECIFIC_DECL #define LANG_HOOKS_DUP_LANG_SPECIFIC_DECL cxx_dup_lang_specific_decl #undef LANG_HOOKS_SET_DECL_ASSEMBLER_NAME diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 3b3821e..32eb084 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -4816,7 +4816,6 @@ extern bool cp_var_mod_type_p (tree, tree); extern void cxx_initialize_diagnostics (struct diagnostic_context *); extern int cxx_types_compatible_p (tree, tree); extern void init_shadowed_var_for_decl (void); -extern tree cxx_staticp (tree); /* in cp-gimplify.c */ extern int cp_gimplify_expr (tree *, tree *, tree *); diff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h index 004b3c5..4416bb9 100644 --- a/gcc/langhooks-def.h +++ b/gcc/langhooks-def.h @@ -49,7 +49,6 @@ extern tree lhd_return_tree (tree); extern tree lhd_return_null_tree_v (void); extern tree lhd_return_null_tree (tree); extern tree lhd_do_nothing_iii_return_null_tree (int, int, int); -extern tree lhd_staticp (tree); extern void lhd_print_tree_nothing (FILE *, tree, int); extern const char *lhd_decl_printable_name (tree, int); extern const char *lhd_dwarf_name (tree, int); @@ -110,7 +109,6 @@ extern void lhd_omp_firstprivatize_type_sizes (struct gimplify_omp_ctx *, #define LANG_HOOKS_EXPAND_EXPR lhd_expand_expr #define LANG_HOOKS_EXPAND_DECL lhd_expand_decl #define LANG_HOOKS_FINISH_INCOMPLETE_DECL lhd_do_nothing_t -#define LANG_HOOKS_STATICP lhd_staticp #define LANG_HOOKS_DUP_LANG_SPECIFIC_DECL lhd_do_nothing_t #define LANG_HOOKS_SET_DECL_ASSEMBLER_NAME lhd_set_decl_assembler_name #define LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS false @@ -296,7 +294,6 @@ extern tree lhd_make_node (enum tree_code); LANG_HOOKS_EXPAND_DECL, \ LANG_HOOKS_FINISH_INCOMPLETE_DECL, \ LANG_HOOKS_MARK_ADDRESSABLE, \ - LANG_HOOKS_STATICP, \ LANG_HOOKS_DUP_LANG_SPECIFIC_DECL, \ LANG_HOOKS_SET_DECL_ASSEMBLER_NAME, \ LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS, \ diff --git a/gcc/langhooks.c b/gcc/langhooks.c index 919f05d..49a5a07 100644 --- a/gcc/langhooks.c +++ b/gcc/langhooks.c @@ -117,14 +117,6 @@ lhd_print_tree_nothing (FILE * ARG_UNUSED (file), { } -/* Called from staticp. */ - -tree -lhd_staticp (tree ARG_UNUSED (exp)) -{ - return NULL; -} - /* Called from check_global_declarations. */ bool diff --git a/gcc/langhooks.h b/gcc/langhooks.h index f0220fc..85dbec6 100644 --- a/gcc/langhooks.h +++ b/gcc/langhooks.h @@ -324,9 +324,6 @@ struct lang_hooks successful. */ bool (*mark_addressable) (tree); - /* Hook called by staticp for language-specific tree codes. */ - tree (*staticp) (tree); - /* Replace the DECL_LANG_SPECIFIC data, which may be NULL, of the DECL_NODE with a newly GC-allocated copy. */ void (*dup_lang_specific_decl) (tree); diff --git a/gcc/tree.c b/gcc/tree.c index 0ea18b2..816275c 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -1986,10 +1986,7 @@ staticp (tree arg) return arg; case COMPONENT_REF: - /* If the thing being referenced is not a field, then it is - something language specific. */ - if (TREE_CODE (TREE_OPERAND (arg, 1)) != FIELD_DECL) - return (*lang_hooks.staticp) (arg); + gcc_assert (TREE_CODE (TREE_OPERAND (arg, 1)) == FIELD_DECL); /* If we are referencing a bitfield, we can't evaluate an ADDR_EXPR at compile time and so it isn't a constant. */ @@ -2015,11 +2012,10 @@ staticp (tree arg) return false; default: - if ((unsigned int) TREE_CODE (arg) - >= (unsigned int) LAST_AND_UNUSED_TREE_CODE) - return lang_hooks.staticp (arg); - else - return NULL; + /* All language specific tree codes should have been lowered by + now. */ + gcc_assert_lowered (arg); + return NULL; } } diff --git a/gcc/tree.h b/gcc/tree.h index 64efe7c..e781e64d 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -921,6 +921,7 @@ extern void omp_clause_range_check_failed (const tree, const char *, int, #endif +#define gcc_assert_lowered(NODE) gcc_assert (TREE_CODE (NODE) <= LAST_AND_UNUSED_TREE_CODE) #define TREE_BLOCK(NODE) *(tree_block (NODE)) #include "tree-check.h" -- cgit v1.1