re PR c++/28558 (Trouble with __attribute__ and non-PODs)
PR c++/28558 * cp/decl.c (groktypename): Ignore attributes applied to class type. * testsuite/g++.dg/ext/attrib28.C: New test. From-SVN: r127859
This commit is contained in:
parent
1c445f037f
commit
c206a69701
|
@ -1,3 +1,8 @@
|
|||
2007-08-27 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/28558
|
||||
* decl.c (groktypename): Ignore attributes applied to class type.
|
||||
|
||||
2007-08-28 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* decl.c (duplicate_decls): Merge DECL_DISREGARD_INLINE_LIMITS.
|
||||
|
|
|
@ -3877,7 +3877,13 @@ groktypename (cp_decl_specifier_seq *type_specifiers,
|
|||
type_specifiers->attributes = NULL_TREE;
|
||||
type = grokdeclarator (declarator, type_specifiers, TYPENAME, 0, &attrs);
|
||||
if (attrs)
|
||||
cplus_decl_attributes (&type, attrs, 0);
|
||||
{
|
||||
if (CLASS_TYPE_P (type))
|
||||
warning (OPT_Wattributes, "ignoring attributes applied to class type "
|
||||
"outside of definition");
|
||||
else
|
||||
cplus_decl_attributes (&type, attrs, 0);
|
||||
}
|
||||
return type;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2007-08-28 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/28558
|
||||
* g++.dg/ext/attrib28.C: New test.
|
||||
|
||||
2007-08-28 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/32661
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
// PR c++/28558
|
||||
// { dg-options "" }
|
||||
|
||||
struct A
|
||||
{
|
||||
A(int) { }
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
A a = (A __attribute__((unused)))0; // { dg-warning "attribute" }
|
||||
}
|
Loading…
Reference in New Issue