aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2010-05-05 15:33:11 -0400
committerJason Merrill <jason@gcc.gnu.org>2010-05-05 15:33:11 -0400
commit564a129d2270cd6cd14683013483b1471f0d04f1 (patch)
tree2f0d1539c4a77f271f5a52bc32ed5f1726956909 /gcc/c-common.c
parent58c13acc6abf49f392d72d269e6c0a88eae25319 (diff)
downloadgcc-564a129d2270cd6cd14683013483b1471f0d04f1.zip
gcc-564a129d2270cd6cd14683013483b1471f0d04f1.tar.gz
gcc-564a129d2270cd6cd14683013483b1471f0d04f1.tar.bz2
re PR testsuite/43758 (19 new GCC HEAD@158360 regressions)
PR testsuite/43758 * target.h (struct gcc_target): Add attribute_takes_identifier_p. * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define. (TARGET_INITIALIZER): Use it. * c-common.c (attribute_takes_identifier_p): Call it. * c-common.h: Update prototype. * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New. (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define. From-SVN: r159079
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r--gcc/c-common.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 1718344..6fa577c 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -5816,11 +5816,14 @@ c_init_attributes (void)
identifier as an argument, so the front end shouldn't look it up. */
bool
-attribute_takes_identifier_p (tree attr_id)
+attribute_takes_identifier_p (const_tree attr_id)
{
- return (is_attribute_p ("mode", attr_id)
- || is_attribute_p ("format", attr_id)
- || is_attribute_p ("cleanup", attr_id));
+ if (is_attribute_p ("mode", attr_id)
+ || is_attribute_p ("format", attr_id)
+ || is_attribute_p ("cleanup", attr_id))
+ return true;
+ else
+ return targetm.attribute_takes_identifier_p (attr_id);
}
/* Attribute handlers common to C front ends. */