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

Reply via email to