On 09/20/2012 02:59 AM, Dodji Seketeli wrote:
+ if ((flags & ATTR_FLAG_CXX11)
+ && !(flags & ATTR_FLAG_TYPE_IN_PLACE
+ && (TREE_CODE (*node) == RECORD_TYPE
+ || TREE_CODE (*node) == UNION_TYPE)))
+ {
+ /* unused is being used as a c++11 attribute. In this mode
+ we prevent it from applying to types, unless it's for a
+ class defintion. */
+ warning (OPT_Wattributes,
+ "attribute %qE cannot be applied to a non-class type", name);
+ return NULL_TREE;
+ }
I think this should now be covered by the general ignoring of
attributes that appertain to type-specifiers, so we don't need to
check it here.
Removed.
Looks to me like it's still there.
+ int attr_flag = attribute_takes_identifier_p (attr_id)
+ ? id_attr
+ : normal_attr;
This should only apply to attributes in the gnu namespace.
Jason