]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Build with warnings and clang 3.0
authorSebastian Hahn <sebastian@torproject.org>
Mon, 12 Dec 2011 14:36:08 +0000 (15:36 +0100)
committerSebastian Hahn <sebastian@torproject.org>
Tue, 13 Dec 2011 06:43:53 +0000 (07:43 +0100)
--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

changes/clang_30_options [new file with mode: 0644]
configure.in

diff --git a/changes/clang_30_options b/changes/clang_30_options
new file mode 100644 (file)
index 0000000..e8e34c8
--- /dev/null
@@ -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.
+
index a9339cc9223b59403acb177e35a2325c80aa4df1..424cccb87472a1300573af7d58f3df29206907f3 100644 (file)
@@ -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