Bug 1003702 - Suppress clang warnings in third-party code: ICU. r=glandium
☠☠ backed out by e6dd7032e3da ☠ ☠
authorChris Peterson <cpeterson@mozilla.com>
Fri, 25 Apr 2014 23:57:45 -0700
changeset 193600 d26d6aab28da706edc0794c29def616a491a2a06
parent 193599 2dabaf1087cd5e93987ccf962b04cf156e433c74
child 193601 4f77407d183928edcdee4a977ee5a5e679c0a15a
push id5990
push userasasaki@mozilla.com
push dateMon, 09 Jun 2014 21:40:24 +0000
treeherdermozilla-aurora@0796197efbc9 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs1003702
milestone32.0a1
Bug 1003702 - Suppress clang warnings in third-party code: ICU. r=glandium
intl/icu-patches/suppress-warnings.diff
intl/icu/source/acinclude.m4
intl/icu/source/configure
intl/update-icu.sh
new file mode 100644
--- /dev/null
+++ b/intl/icu-patches/suppress-warnings.diff
@@ -0,0 +1,80 @@
+diff --git a/intl/icu/source/acinclude.m4 b/intl/icu/source/acinclude.m4
+--- a/intl/icu/source/acinclude.m4
++++ b/intl/icu/source/acinclude.m4
+@@ -466,30 +466,36 @@ AC_DEFUN([AC_CHECK_STRICT_COMPILE],
+             *)
+                 # Do not use -ansi. It limits us to C90, and it breaks some platforms.
+                 # We use -std=c99 to disable the gnu99 defaults and its associated warnings
+                 CFLAGS="$CFLAGS -std=c99"
+                 ;;
+             esac
+             
+             CFLAGS="$CFLAGS -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings"
++
++            # Suppress clang C warnings:
++            CFLAGS="$CFLAGS -Wno-sign-compare -Wno-unused"
+         else
+             case "${host}" in
+             *-*-cygwin)
+                 if test "`$CC /help 2>&1 | head -c9`" = "Microsoft"
+                 then
+                     CFLAGS="$CFLAGS /W4"
+                 fi ;;
+             *-*-mingw32|*-*-mingw64)
+                 CFLAGS="$CFLAGS -W4" ;;
+             esac
+         fi
+         if test "$GXX" = yes
+         then
+             CXXFLAGS="$CXXFLAGS -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long"
++
++            # Suppress clang C++ warnings:
++            CXXFLAGS="$CXXFLAGS -Wno-unused -Wno-unused-parameter"
+         else
+             case "${host}" in
+             *-*-cygwin)
+                 if test "`$CXX /help 2>&1 | head -c9`" = "Microsoft"
+                 then
+                     CXXFLAGS="$CXXFLAGS /W4"
+                 fi ;;
+             *-*-mingw32|*-*-mingw64)
+diff --git a/intl/icu/source/configure b/intl/icu/source/configure
+--- a/intl/icu/source/configure
++++ b/intl/icu/source/configure
+@@ -4089,30 +4089,36 @@ fi
+             *)
+                 # Do not use -ansi. It limits us to C90, and it breaks some platforms.
+                 # We use -std=c99 to disable the gnu99 defaults and its associated warnings
+                 CFLAGS="$CFLAGS -std=c99"
+                 ;;
+             esac
+ 
+             CFLAGS="$CFLAGS -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings"
++
++            # Suppress clang C warnings:
++            CFLAGS="$CFLAGS -Wno-sign-compare -Wno-unused"
+         else
+             case "${host}" in
+             *-*-cygwin)
+                 if test "`$CC /help 2>&1 | head -c9`" = "Microsoft"
+                 then
+                     CFLAGS="$CFLAGS /W4"
+                 fi ;;
+             *-*-mingw32|*-*-mingw64)
+                 CFLAGS="$CFLAGS -W4" ;;
+             esac
+         fi
+         if test "$GXX" = yes
+         then
+             CXXFLAGS="$CXXFLAGS -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long"
++
++            # Suppress clang C++ warnings:
++            CXXFLAGS="$CXXFLAGS -Wno-unused -Wno-unused-parameter"
+         else
+             case "${host}" in
+             *-*-cygwin)
+                 if test "`$CXX /help 2>&1 | head -c9`" = "Microsoft"
+                 then
+                     CXXFLAGS="$CXXFLAGS /W4"
+                 fi ;;
+             *-*-mingw32|*-*-mingw64)
--- a/intl/icu/source/acinclude.m4
+++ b/intl/icu/source/acinclude.m4
@@ -466,30 +466,36 @@ AC_DEFUN([AC_CHECK_STRICT_COMPILE],
             *)
                 # Do not use -ansi. It limits us to C90, and it breaks some platforms.
                 # We use -std=c99 to disable the gnu99 defaults and its associated warnings
                 CFLAGS="$CFLAGS -std=c99"
                 ;;
             esac
             
             CFLAGS="$CFLAGS -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings"
+
+            # Suppress clang C warnings:
+            CFLAGS="$CFLAGS -Wno-sign-compare -Wno-unused"
         else
             case "${host}" in
             *-*-cygwin)
                 if test "`$CC /help 2>&1 | head -c9`" = "Microsoft"
                 then
                     CFLAGS="$CFLAGS /W4"
                 fi ;;
             *-*-mingw32|*-*-mingw64)
                 CFLAGS="$CFLAGS -W4" ;;
             esac
         fi
         if test "$GXX" = yes
         then
             CXXFLAGS="$CXXFLAGS -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long"
+
+            # Suppress clang C++ warnings:
+            CXXFLAGS="$CXXFLAGS -Wno-unused -Wno-unused-parameter"
         else
             case "${host}" in
             *-*-cygwin)
                 if test "`$CXX /help 2>&1 | head -c9`" = "Microsoft"
                 then
                     CXXFLAGS="$CXXFLAGS /W4"
                 fi ;;
             *-*-mingw32|*-*-mingw64)
--- a/intl/icu/source/configure
+++ b/intl/icu/source/configure
@@ -4089,30 +4089,36 @@ fi
             *)
                 # Do not use -ansi. It limits us to C90, and it breaks some platforms.
                 # We use -std=c99 to disable the gnu99 defaults and its associated warnings
                 CFLAGS="$CFLAGS -std=c99"
                 ;;
             esac
 
             CFLAGS="$CFLAGS -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings"
+
+            # Suppress clang C warnings:
+            CFLAGS="$CFLAGS -Wno-sign-compare -Wno-unused"
         else
             case "${host}" in
             *-*-cygwin)
                 if test "`$CC /help 2>&1 | head -c9`" = "Microsoft"
                 then
                     CFLAGS="$CFLAGS /W4"
                 fi ;;
             *-*-mingw32|*-*-mingw64)
                 CFLAGS="$CFLAGS -W4" ;;
             esac
         fi
         if test "$GXX" = yes
         then
             CXXFLAGS="$CXXFLAGS -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long"
+
+            # Suppress clang C++ warnings:
+            CXXFLAGS="$CXXFLAGS -Wno-unused -Wno-unused-parameter"
         else
             case "${host}" in
             *-*-cygwin)
                 if test "`$CXX /help 2>&1 | head -c9`" = "Microsoft"
                 then
                     CXXFLAGS="$CXXFLAGS /W4"
                 fi ;;
             *-*-mingw32|*-*-mingw64)
--- a/intl/update-icu.sh
+++ b/intl/update-icu.sh
@@ -50,10 +50,11 @@ rm ${icu_dir}/source/data/translit/*
 # the tree.)
 svn info $1 | grep -v '^Revision: [[:digit:]]\+$' > ${icu_dir}/SVN-INFO
 
 patch -d ${icu_dir}/../../ -p1 < ${icu_dir}/../icu-patches/bug-724533
 patch -d ${icu_dir}/../../ -p1 < ${icu_dir}/../icu-patches/bug-899722-4
 patch -d ${icu_dir}/../../ -p1 < ${icu_dir}/../icu-patches/bug-915735
 patch -d ${icu_dir}/../../ -p1 < ${icu_dir}/../icu-patches/genrb-omitCollationRules.diff
 patch -d ${icu_dir}/../../ -p1 < ${icu_dir}/../icu-patches/qualify-uinitonce-windows.diff
+patch -d ${icu_dir}/../../ -p1 < ${icu_dir}/../icu-patches/suppress-warnings.diff
 
 hg addremove ${icu_dir}