Index: libltdl/libltdl/lt__private.h
===================================================================
RCS file: /sources/libtool/libtool/libltdl/libltdl/lt__private.h,v
retrieving revision 1.14
diff -u -r1.14 lt__private.h
--- libltdl/libltdl/lt__private.h	8 May 2007 14:38:50 -0000	1.14
+++ libltdl/libltdl/lt__private.h	10 May 2007 15:32:42 -0000
@@ -74,7 +74,7 @@
 #endif
 
 #ifndef __attribute__
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || defined(__STRICT_ANSI__)
 #  define __attribute__(x)
 # endif
 #endif
Index: libltdl/libltdl/lt_system.h
===================================================================
RCS file: /sources/libtool/libtool/libltdl/libltdl/lt_system.h,v
retrieving revision 1.6
diff -u -r1.6 lt_system.h
--- libltdl/libltdl/lt_system.h	25 Mar 2007 12:12:43 -0000	1.6
+++ libltdl/libltdl/lt_system.h	10 May 2007 15:32:42 -0000
@@ -63,17 +63,12 @@
 
 /* LT_STMT_START/END are used to create macros which expand to a
    a single compound statement in a portable way.  */
-#if defined (__GNUC__) && !defined (__STRICT_ANSI__) && !defined (__cplusplus)
-#  define LT_STMT_START        (void)(
-#  define LT_STMT_END          )
+#if (defined (sun) || defined (__sun__))
+#  define LT_STMT_START      if (1)
+#  define LT_STMT_END        else (void)0
 #else
-#  if (defined (sun) || defined (__sun__))
-#    define LT_STMT_START      if (1)
-#    define LT_STMT_END        else (void)0
-#  else
-#    define LT_STMT_START      do
-#    define LT_STMT_END        while (0)
-#  endif
+#  define LT_STMT_START      do
+#  define LT_STMT_END        while (0)
 #endif
 
 /* Canonicalise Windows and Cygwin recognition macros.
