OSDN Git Service

* ansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define for C++.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Jun 2009 01:48:14 +0000 (01:48 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Jun 2009 01:48:14 +0000 (01:48 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148333 138bc75d-0d04-0410-961f-82ee72b054a4

include/ChangeLog
include/ansidecl.h

index 4693ff9..b680b43 100644 (file)
@@ -1,4 +1,8 @@
-2009-06-02  Ian Lance Taylor  <iant@google.com>
+2009-06-09  Ian Lance Taylor  <ian@airs.com>
+
+       * ansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define for C++.
+
+2009-06-03  Ian Lance Taylor  <iant@google.com>
 
        * ansidecl.h (EXPORTED_CONST): Define.
 
index f9864cd..86b0944 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__))