Pārlūkot izejas kodu

Build with warnings and clang 3.0

--enable-gcc-warnings enables two warnings that clang doesn't support,
so the build fails. We had hoped clang 3.0 would add those, but it
didn't, so let's just always disable those warnings when building with
clang. We can still fix it later once they add support
Sebastian Hahn 13 gadi atpakaļ
vecāks
revīzija
bcca541da9
2 mainītis faili ar 9 papildinājumiem un 6 dzēšanām
  1. 5 0
      changes/clang_30_options
  2. 4 6
      configure.in

+ 5 - 0
changes/clang_30_options

@@ -0,0 +1,5 @@
+  o Code simplifications and refactoring:
+    - During configure, detect when we're building with clang version 3.0 or
+      lower and disable the -Wnormalized=id and -Woverride-init CFLAGS.
+      clang doesn't support them yet.
+

+ 4 - 6
configure.in

@@ -940,10 +940,10 @@ if test x$enable_gcc_warnings = xyes || test x$enable_gcc_warnings_advisory = xy
 #error
 #endif])], have_gcc43=yes, have_gcc43=no)
 
-  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
-#if !defined(__clang__) || (__clang_major__ > 2) || (__clang_major__ == 2 && __clang_minor__ > 9)
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
+#if !defined(__clang__)
 #error
-#endif])], have_clang29orlower=yes, have_clang29orlower=no)
+#endif])], have_clang=yes, have_clang=no)
 
   save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -Wshorten-64-to-32"
@@ -980,10 +980,8 @@ if test x$enable_gcc_warnings = xyes || test x$enable_gcc_warnings_advisory = xy
     # We used to use -Wstrict-overflow=5, but that breaks us heavily under 4.3.
   fi
 
-  if test x$have_gcc42 = xyes && test x$have_clang29orlower = xno; then
+  if test x$have_gcc42 = xyes && test x$have_clang = xno; then
     # These warnings break gcc 4.0.2 and clang, but work on gcc 4.2
-    # We only disable these for clang 2.9 and lower, in case they are
-    # supported in later versions.
     CFLAGS="$CFLAGS -Wnormalized=id -Woverride-init"
   fi