diff options
author | Jason Merrill <jason@redhat.com> | 2010-05-05 15:33:11 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2010-05-05 15:33:11 -0400 |
commit | 564a129d2270cd6cd14683013483b1471f0d04f1 (patch) | |
tree | 2f0d1539c4a77f271f5a52bc32ed5f1726956909 /gcc/c-common.c | |
parent | 58c13acc6abf49f392d72d269e6c0a88eae25319 (diff) | |
download | gcc-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.c | 11 |
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. */ |