diff options
-rw-r--r-- | gcc/ChangeLog | 14 | ||||
-rw-r--r-- | gcc/Makefile.in | 2 | ||||
-rw-r--r-- | gcc/ada/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/ada/misc.c | 8 | ||||
-rw-r--r-- | gcc/attribs.c | 3 | ||||
-rw-r--r-- | gcc/c-decl.c | 2 | ||||
-rw-r--r-- | gcc/c-lang.c | 2 | ||||
-rw-r--r-- | gcc/c-tree.h | 1 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/cp-lang.c | 2 | ||||
-rw-r--r-- | gcc/cp/cp-tree.h | 1 | ||||
-rw-r--r-- | gcc/cp/decl.c | 2 | ||||
-rw-r--r-- | gcc/langhooks-def.h | 2 | ||||
-rw-r--r-- | gcc/langhooks.h | 4 | ||||
-rw-r--r-- | gcc/objc/objc-lang.c | 2 | ||||
-rw-r--r-- | gcc/tree.h | 4 |
16 files changed, 43 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6689e62c4dc..540dc828342 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk> + + * Makefile.in (attribs.o): Update. + * attribs.c: Include langhooks.h. + (decl_attributes): Use langhook. + * c-decl.c (insert_default_attributes): Rename. + * c-tree.h (c_insert_default_attributes): New. + * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New. + (LANG_HOOKS_INITIALIZER): Update. + * langhooks.h (struct lang_hooks): New hook. + * tree.h (insert_default_attributes): Remove. +objc: + * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine. + 2002-03-27 Andreas Schwab <schwab@suse.de> * config/i386/i386.c (classify_argument): Also check for diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 0603e261b04..2a71b731bf1 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1214,7 +1214,7 @@ c-common.o : c-common.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(OBSTACK_H) \ attribs.o : attribs.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(OBSTACK_H) flags.h \ toplev.h output.h c-pragma.h $(RTL_H) $(GGC_H) $(EXPR_H) $(TM_P_H) \ - builtin-types.def $(TARGET_H) + builtin-types.def $(TARGET_H) langhooks.h c-format.o : c-format.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \ $(C_COMMON_H) flags.h toplev.h intl.h diagnostic.h diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 03f747711e9..3738cd4e183 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,9 @@ 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk> + * misc.c (insert_default_attributes): Remove. + +2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk> + * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine. (gnat_init): Don't set hook. (gnat_expand_expr): Fix prototype. diff --git a/gcc/ada/misc.c b/gcc/ada/misc.c index 5a2c68ae470..000e6046ce5 100644 --- a/gcc/ada/misc.c +++ b/gcc/ada/misc.c @@ -801,14 +801,6 @@ gnat_get_alias_set (type) return -1; } -/* Set default attributes for functions. We do nothing. */ - -void -insert_default_attributes (decl) - tree decl ATTRIBUTE_UNUSED; -{ -} - /* GNU_TYPE is a type. Determine if it should be passed by reference by default. */ diff --git a/gcc/attribs.c b/gcc/attribs.c index 74f6b05d010..69d2ef26a64 100644 --- a/gcc/attribs.c +++ b/gcc/attribs.c @@ -32,6 +32,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "obstack.h" #include "cpplib.h" #include "target.h" +#include "langhooks.h" static void init_attributes PARAMS ((void)); @@ -274,7 +275,7 @@ decl_attributes (node, attributes, flags) if (DECL_P (*node) && TREE_CODE (*node) == FUNCTION_DECL && !(flags & (int) ATTR_FLAG_BUILT_IN)) - insert_default_attributes (*node); + (*lang_hooks.insert_default_attributes) (*node); for (a = attributes; a; a = TREE_CHAIN (a)) { diff --git a/gcc/c-decl.c b/gcc/c-decl.c index e1d104d4fc9..620a16f5d5d 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -3087,7 +3087,7 @@ builtin_function (name, type, function_code, class, library_name) attributes. */ void -insert_default_attributes (decl) +c_insert_default_attributes (decl) tree decl; { if (!TREE_PUBLIC (decl)) diff --git a/gcc/c-lang.c b/gcc/c-lang.c index a41730cff7b..c49c948fc46 100644 --- a/gcc/c-lang.c +++ b/gcc/c-lang.c @@ -56,6 +56,8 @@ static void c_post_options PARAMS ((void)); #define LANG_HOOKS_EXPAND_EXPR c_expand_expr #undef LANG_HOOKS_PARSE_FILE #define LANG_HOOKS_PARSE_FILE c_common_parse_file +#undef LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES +#define LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES c_insert_default_attributes #undef LANG_HOOKS_STATICP #define LANG_HOOKS_STATICP c_staticp #undef LANG_HOOKS_PRINT_IDENTIFIER diff --git a/gcc/c-tree.h b/gcc/c-tree.h index ad2d88df228..53d55d4309b 100644 --- a/gcc/c-tree.h +++ b/gcc/c-tree.h @@ -175,6 +175,7 @@ extern void insert_block PARAMS ((tree)); extern void set_block PARAMS ((tree)); extern tree pushdecl PARAMS ((tree)); +extern void c_insert_default_attributes PARAMS ((tree)); extern void c_init_decl_processing PARAMS ((void)); extern void c_dup_lang_specific_decl PARAMS ((tree)); extern void c_print_identifier PARAMS ((FILE *, tree, int)); diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7bd5c22137c..5a936bae11f 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk> + + * cp-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine. + * cp-tree.h (cxx_insert_default_attributes): New. + * decl.c (insert_default_attributes): Rename. + 2002-03-27 Mark Mitchell <mark@codesourcery.com> PR c++/4884 diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c index fd6c29f02dc..7516b4352ec 100644 --- a/gcc/cp/cp-lang.c +++ b/gcc/cp/cp-lang.c @@ -61,6 +61,8 @@ static bool ok_to_generate_alias_set_for_type PARAMS ((tree)); #define LANG_HOOKS_UNSAVE_EXPR_NOW cxx_unsave_expr_now #undef LANG_HOOKS_MAYBE_BUILD_CLEANUP #define LANG_HOOKS_MAYBE_BUILD_CLEANUP cxx_maybe_build_cleanup +#undef LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES +#define LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES cxx_insert_default_attributes #undef LANG_HOOKS_MARK_TREE #define LANG_HOOKS_MARK_TREE cxx_mark_tree #undef LANG_HOOKS_PRINT_STATISTICS diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 99cde0f8f3e..bab908b9a81 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -3667,6 +3667,7 @@ extern void set_block PARAMS ((tree)); extern tree pushdecl PARAMS ((tree)); extern void cxx_init_decl_processing PARAMS ((void)); extern void cxx_mark_tree PARAMS ((tree)); +extern void cxx_insert_default_attributes PARAMS ((tree)); extern int toplevel_bindings_p PARAMS ((void)); extern int namespace_bindings_p PARAMS ((void)); extern void keep_next_level PARAMS ((int)); diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 208370793f4..7dbb55bdfbd 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -6886,7 +6886,7 @@ push_throw_library_fn (name, type) attributes. */ void -insert_default_attributes (decl) +cxx_insert_default_attributes (decl) tree decl; { if (!DECL_EXTERN_C_FUNCTION_P (decl)) diff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h index 974f8625360..61559a17d3b 100644 --- a/gcc/langhooks-def.h +++ b/gcc/langhooks-def.h @@ -82,6 +82,7 @@ tree lhd_tree_inlining_convert_parm_for_inlining PARAMS ((tree, tree, tree)); #define LANG_HOOKS_EXPAND_EXPR lhd_expand_expr #define LANG_HOOKS_SAFE_FROM_P lhd_safe_from_p #define LANG_HOOKS_STATICP lhd_staticp +#define LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES lhd_do_nothing_t #define LANG_HOOKS_DUP_LANG_SPECIFIC_DECL lhd_do_nothing_t #define LANG_HOOKS_UNSAVE_EXPR_NOW lhd_unsave_expr_now #define LANG_HOOKS_MAYBE_BUILD_CLEANUP lhd_return_null_tree @@ -177,6 +178,7 @@ int lhd_tree_dump_type_quals PARAMS ((tree)); LANG_HOOKS_GET_ALIAS_SET, \ LANG_HOOKS_EXPAND_CONSTANT, \ LANG_HOOKS_EXPAND_EXPR, \ + LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES, \ LANG_HOOKS_SAFE_FROM_P, \ LANG_HOOKS_STATICP, \ LANG_HOOKS_DUP_LANG_SPECIFIC_DECL, \ diff --git a/gcc/langhooks.h b/gcc/langhooks.h index 332ede8d32f..a71f7ec37f6 100644 --- a/gcc/langhooks.h +++ b/gcc/langhooks.h @@ -165,6 +165,10 @@ struct lang_hooks Fourth argument is actually an enum expand_modifier. */ rtx (*expand_expr) PARAMS ((tree, rtx, enum machine_mode, int)); + /* Possibly apply default attributes to a function (represented by + a FUNCTION_DECL). */ + void (*insert_default_attributes) PARAMS ((tree)); + /* Hook called by safe_from_p for language-specific tree codes. It is up to the language front-end to install a hook if it has any such codes that safe_from_p needs to know about. Since same_from_p will diff --git a/gcc/objc/objc-lang.c b/gcc/objc/objc-lang.c index 702bbad632a..b189d6bfe93 100644 --- a/gcc/objc/objc-lang.c +++ b/gcc/objc/objc-lang.c @@ -50,6 +50,8 @@ static void objc_post_options PARAMS ((void)); #define LANG_HOOKS_MARK_TREE c_mark_tree #undef LANG_HOOKS_EXPAND_EXPR #define LANG_HOOKS_EXPAND_EXPR c_expand_expr +#undef LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES +#define LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES c_insert_default_attributes #undef LANG_HOOKS_STATICP #define LANG_HOOKS_STATICP c_staticp #undef LANG_HOOKS_DUP_LANG_SPECIFIC_DECL diff --git a/gcc/tree.h b/gcc/tree.h index 3018f2a4490..6635248f928 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -2976,10 +2976,6 @@ extern tree decl_attributes PARAMS ((tree *, tree, int)); /* The following function must be provided by front ends using attribs.c. */ -/* Possibly apply default attributes to a function (represented by - a FUNCTION_DECL). */ -extern void insert_default_attributes PARAMS ((tree)); - /* Table of machine-independent attributes for checking formats, if used. */ extern const struct attribute_spec *format_attribute_table; |