merge from gcc
authorDJ Delorie <dj@redhat.com>
Tue, 18 Dec 2012 17:41:27 +0000 (17:41 +0000)
committerDJ Delorie <dj@redhat.com>
Tue, 18 Dec 2012 17:41:27 +0000 (17:41 +0000)
include/ChangeLog
include/ansidecl.h

index eecc16d..4be13bc 100644 (file)
@@ -1,3 +1,9 @@
+2012-12-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR other/54324
+       * ansidecl.h (ATTRIBUTE_UNUSED): Do not set __attribute__ for GCC
+       < 3.4.
+
 2012-12-17  Nick Clifton  <nickc@redhat.com>
 
        * MAINTAINERS: Add copyright notice.
index 23d85bf..40f4a5f 100644 (file)
@@ -279,8 +279,15 @@ So instead we use the macro below and test it against specific values.  */
 # endif
 #endif
 
+/* Similarly to ARG_UNUSED below.  Prior to GCC 3.4, the C++ frontend
+   couldn't parse attributes placed after the identifier name, and now
+   the entire compiler is built with C++.  */
 #ifndef ATTRIBUTE_UNUSED
-#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+#if GCC_VERSION >= 3004
+#  define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+#else
+#define ATTRIBUTE_UNUSED
+#endif
 #endif /* ATTRIBUTE_UNUSED */
 
 /* Before GCC 3.4, the C++ frontend couldn't parse attributes placed after the