re PR c++/46803 (libstdc++ build errors on invalid OpenBSD system header attributes)
PR c++/46803 * c-common.c (attribute_takes_identifier_p): Assume that an unknown attribute takes an identifier. From-SVN: r170885
This commit is contained in:
parent
6a4e2bd556
commit
1b9b91a68b
@ -1,3 +1,9 @@
|
||||
2011-03-11 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/46803
|
||||
* c-common.c (attribute_takes_identifier_p): Assume that an
|
||||
unknown attribute takes an identifier.
|
||||
|
||||
2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
|
||||
|
||||
PR c/47786
|
||||
|
@ -5665,9 +5665,14 @@ c_init_attributes (void)
|
||||
bool
|
||||
attribute_takes_identifier_p (const_tree attr_id)
|
||||
{
|
||||
if (is_attribute_p ("mode", attr_id)
|
||||
|| is_attribute_p ("format", attr_id)
|
||||
|| is_attribute_p ("cleanup", attr_id))
|
||||
struct attribute_spec *spec = lookup_attribute_spec (attr_id);
|
||||
if (spec == NULL)
|
||||
/* Unknown attribute that we'll end up ignoring, return true so we
|
||||
don't complain about an identifier argument. */
|
||||
return true;
|
||||
else if (!strcmp ("mode", spec->name)
|
||||
|| !strcmp ("format", spec->name)
|
||||
|| !strcmp ("cleanup", spec->name))
|
||||
return true;
|
||||
else
|
||||
return targetm.attribute_takes_identifier_p (attr_id);
|
||||
|
@ -1,5 +1,7 @@
|
||||
2011-03-11 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* g++.dg/ext/attrib40.C: New.
|
||||
|
||||
* g++.dg/cpp0x/regress/array1.C: New.
|
||||
|
||||
2011-03-11 Richard Guenther <rguenther@suse.de>
|
||||
|
4
gcc/testsuite/g++.dg/ext/attrib40.C
Normal file
4
gcc/testsuite/g++.dg/ext/attrib40.C
Normal file
@ -0,0 +1,4 @@
|
||||
// PR c++/46803
|
||||
|
||||
int strftime(char *, int, const char *, const struct tm *)
|
||||
__attribute__ ((__bounded__(__string__,1,2))); // { dg-warning "ignored" }
|
Loading…
Reference in New Issue
Block a user