From 7a4418a53e80d38918a1f7ca4b8c2050cde08a24 Mon Sep 17 00:00:00 2001 From: Jozef Lawrynowicz Date: Tue, 3 Sep 2019 20:36:49 +0000 Subject: Implement TARGET_HANDLE_GENERIC_ATTRIBUTE gcc/ChangeLog: 2019-09-03 Jozef Lawrynowicz * config/msp430/msp430.c (TARGET_HANDLE_GENERIC_ATTRIBUTE): Define. (msp430_handle_generic_attribute): New function. * doc/tm.texi: Regenerate. * doc/tm.texi.in: Add TARGET_HANDLE_GENERIC_ATTRIBUTE. * hooks.c (hook_tree_treeptr_tree_tree_int_boolptr_null): New. * hooks.h (hook_tree_treeptr_tree_tree_int_boolptr_null): New. * target.def: Define new hook TARGET_HANDLE_GENERIC_ATTRIBUTE. gcc/c-family/ChangeLog: 2019-09-03 Jozef Lawrynowicz * c-attribs.c (handle_section_attribute): Call the handle_generic_attribute target hook after performing target independent processing. (handle_noinit_attribute): Likewise. From-SVN: r275355 --- gcc/target.def | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'gcc/target.def') diff --git a/gcc/target.def b/gcc/target.def index b2332d8..ca7e7ad 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -2208,6 +2208,17 @@ needed.", void, (tree node, tree *attr_ptr), hook_void_tree_treeptr) +/* Perform additional target-specific processing of generic attributes. */ +DEFHOOK +(handle_generic_attribute, + "Define this target hook if you want to be able to perform additional\n\ +target-specific processing of an attribute which is handled generically\n\ +by a front end. The arguments are the same as those which are passed to\n\ +attribute handlers. So far this only affects the @var{noinit} and\n\ +@var{section} attribute.", + tree, (tree *node, tree name, tree args, int flags, bool *no_add_attrs), + hook_tree_treeptr_tree_tree_int_boolptr_null) + /* Return true if FNDECL (which has at least one machine attribute) can be inlined despite its machine attributes, false otherwise. */ DEFHOOK -- cgit v1.1