merge from gcc
authorDJ Delorie <dj@redhat.com>
Tue, 16 Jun 2009 13:21:26 +0000 (13:21 +0000)
committerDJ Delorie <dj@redhat.com>
Tue, 16 Jun 2009 13:21:26 +0000 (13:21 +0000)
include/ChangeLog
include/ansidecl.h

index 82b104591865426a85e38545ec3346e4449993a0..6742d24c951061a3322c950e5d3987da70fe096e 100644 (file)
@@ -1,3 +1,7 @@
+2009-06-09  Ian Lance Taylor  <ian@airs.com>
+
+       * ansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define for C++.
+
 2009-06-15  Nick Clifton  <nickc@redhat.com>
 
        * dis-asm.h (struct disassemble_info): New value for the flags
index f9864cd386424ece83ec45dda3d2a2d27ae51bf2..86b094474825708040abe56ad06f4ff7793f07f8 100644 (file)
@@ -261,14 +261,23 @@ So instead we use the macro below and test it against specific values.  */
 # endif /* GNUC >= 2.96 */
 #endif /* ATTRIBUTE_MALLOC */
 
-/* Attributes on labels were valid as of gcc 2.93. */
+/* Attributes on labels were valid as of gcc 2.93 and g++ 4.5.  For
+   g++ an attribute on a label must be followed by a semicolon.  */
 #ifndef ATTRIBUTE_UNUSED_LABEL
-# if (!defined (__cplusplus) && GCC_VERSION >= 2093)
-#  define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED
+# ifndef __cplusplus
+#  if GCC_VERSION >= 2093
+#   define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED
+#  else
+#   define ATTRIBUTE_UNUSED_LABEL
+#  endif
 # else
-#  define ATTRIBUTE_UNUSED_LABEL
-# endif /* !__cplusplus && GNUC >= 2.93 */
-#endif /* ATTRIBUTE_UNUSED_LABEL */
+#  if GCC_VERSION >= 4005
+#   define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED ;
+#  else
+#   define ATTRIBUTE_UNUSED_LABEL
+#  endif
+# endif
+#endif
 
 #ifndef ATTRIBUTE_UNUSED
 #define ATTRIBUTE_UNUSED __attribute__ ((__unused__))