diff options
author | scottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-23 22:32:24 +0000 |
---|---|---|
committer | scottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-23 22:32:24 +0000 |
commit | 239d21b43325b222435b5e5a0b2967dd2c33a483 (patch) | |
tree | 98ae28a7daebbf9bb758a687b64f2933fb5dcf26 | |
parent | 7fb1ece140c9b8ff8ba5e92bdf6b8e44d741492d (diff) | |
download | chromium_src-239d21b43325b222435b5e5a0b2967dd2c33a483.zip chromium_src-239d21b43325b222435b5e5a0b2967dd2c33a483.tar.gz chromium_src-239d21b43325b222435b5e5a0b2967dd2c33a483.tar.bz2 |
Turn on warnings as errors for (most) third_party code on Windows
Can't quite be fully enabled yet due to not-yet-fixed third party
dependencies. Without it enabled, other packages regress while we're fixing
things. So, add a flag for now so warnings-freeness can be ratcheted forward
by having it on for most packages, but off for a few.
Also, disable warning in qcms (fixed upstream by a large refactoring, not
worth rolling for), and disable two minor warnings in yasm (patch posted
upstream for a few months, but maintainer does not seem motivated to merge).
Fix release-only warning in leveldatabase/env_chromium.cc. Was calling exit(1)
in a leaky destructor.
Fix a warning in lzma_sdk (missing an include).
Disable a silly warning in Release builds of skia and memory_watcher (that
/GS is not working because optimization is disabled).
Warning are currently tolerated in libvpx and mesa.
Cannot be committed until http://chromiumcodereview.appspot.com/10823426/ has
landed.
R=thakis@chromium.org
BUG=126483,140121, 143877
TEST=
Review URL: https://chromiumcodereview.appspot.com/10827429
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153092 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | DEPS | 2 | ||||
-rw-r--r-- | build/common.gypi | 10 | ||||
-rw-r--r-- | skia/skia.gyp | 2 | ||||
-rw-r--r-- | third_party/leveldatabase/env_chromium.cc | 3 | ||||
-rw-r--r-- | third_party/lzma_sdk/CpuArch.h | 1 | ||||
-rw-r--r-- | third_party/lzma_sdk/README.chromium | 3 | ||||
-rw-r--r-- | third_party/mesa/mesa.gyp | 3 | ||||
-rw-r--r-- | third_party/qcms/qcms.gyp | 3 | ||||
-rw-r--r-- | third_party/yasm/yasm.gyp | 3 | ||||
-rw-r--r-- | tools/memory_watcher/memory_watcher.gyp | 4 |
10 files changed, 29 insertions, 5 deletions
@@ -20,7 +20,7 @@ vars = { "libjingle_revision": "170", "libphonenumber_revision": "456", - "libvpx_revision": "150392", + "libvpx_revision": "152423", "lss_revision": "11", # These two FFmpeg variables must be updated together. One is used for SVN diff --git a/build/common.gypi b/build/common.gypi index 87c58824..fbb4fe8 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -710,6 +710,14 @@ # to get incremental linking to be faster in debug builds. 'incremental_chrome_dll%': '0', + # The default settings for third party code for treating + # warnings-as-errors. Ideally, this would not be required, however there + # is some third party code that takes a long time to fix/roll. So, this + # flag allows us to have warnings as errors in general to prevent + # regressions in most modules, while working on the bits that are + # remaining. + 'win_third_party_warn_as_error%': 'true', + # This is the location of the sandbox binary. Chrome looks for this before # running the zygote process. If found, and SUID, it will be used to # sandbox the zygote process and, thus, all renderer processes. @@ -1677,7 +1685,7 @@ 'msvs_settings': { 'VCCLCompilerTool': { 'WarningLevel': '3', - 'WarnAsError': 'false', # TODO(maruel): Enable it. + 'WarnAsError': '<(win_third_party_warn_as_error)', 'Detect64BitPortabilityProblems': 'false', }, }, diff --git a/skia/skia.gyp b/skia/skia.gyp index 1615a3c..0ae1c0e 100644 --- a/skia/skia.gyp +++ b/skia/skia.gyp @@ -207,7 +207,7 @@ '../third_party/skia/src/sfnt', '../third_party/skia/src/utils', ], - 'msvs_disabled_warnings': [4244, 4267, 4341, 4345, 4390, 4554, 4800], + 'msvs_disabled_warnings': [4244, 4267, 4341, 4345, 4390, 4554, 4748, 4800], 'defines': [ 'SK_GAMMA_SRGB', #'SK_GAMMA_APPLY_TO_A8', diff --git a/third_party/leveldatabase/env_chromium.cc b/third_party/leveldatabase/env_chromium.cc index 6056de4..d1b4c26 100644 --- a/third_party/leveldatabase/env_chromium.cc +++ b/third_party/leveldatabase/env_chromium.cc @@ -252,8 +252,7 @@ class ChromiumEnv : public Env { public: ChromiumEnv(); virtual ~ChromiumEnv() { - fprintf(stderr, "Destroying Env::Default()\n"); - exit(1); + NOTREACHED(); } virtual Status NewSequentialFile(const std::string& fname, diff --git a/third_party/lzma_sdk/CpuArch.h b/third_party/lzma_sdk/CpuArch.h index 01930c7..8c0c84d 100644 --- a/third_party/lzma_sdk/CpuArch.h +++ b/third_party/lzma_sdk/CpuArch.h @@ -4,6 +4,7 @@ #ifndef __CPU_ARCH_H #define __CPU_ARCH_H +#include <stdlib.h> #include "Types.h" EXTERN_C_BEGIN diff --git a/third_party/lzma_sdk/README.chromium b/third_party/lzma_sdk/README.chromium index d487eec..c9ea02f 100644 --- a/third_party/lzma_sdk/README.chromium +++ b/third_party/lzma_sdk/README.chromium @@ -14,3 +14,6 @@ proper file paths and generate a static lib. The patch in chromium.patch was applied to CpuArch.c to fix compile error on 32bit Linux. + +An #include <stdlib.h> needs to be added to CpuArch.h to avoid a warning on +Win32. diff --git a/third_party/mesa/mesa.gyp b/third_party/mesa/mesa.gyp index 1ed392c..a7e475d 100644 --- a/third_party/mesa/mesa.gyp +++ b/third_party/mesa/mesa.gyp @@ -4,6 +4,9 @@ { 'variables': { + # Disable warnings as errors for mesa until they're fixed or disabled. + # http://crbug.com/143877 + 'win_third_party_warn_as_error': 'false', }, 'target_defaults': { 'conditions': [ diff --git a/third_party/qcms/qcms.gyp b/third_party/qcms/qcms.gyp index 01b9543..0208b1e 100644 --- a/third_party/qcms/qcms.gyp +++ b/third_party/qcms/qcms.gyp @@ -26,6 +26,9 @@ './src', ], }, + # Warning (sign-conversion) fixed upstream by large refactoring. Can be + # removed on next roll. + 'msvs_disabled_warnings': [ 4018 ], 'conditions': [ [ 'target_arch != "arm" and OS in ["linux", "freebsd", "openbsd", "solaris"]', { 'cflags': [ diff --git a/third_party/yasm/yasm.gyp b/third_party/yasm/yasm.gyp index d981b50..9093600 100644 --- a/third_party/yasm/yasm.gyp +++ b/third_party/yasm/yasm.gyp @@ -71,6 +71,9 @@ 'genstring', 're2c', ], + # Patch to fix posted upstream, but not yet merged. + # https://github.com/yasm/yasm/pull/64 + 'msvs_disabled_warnings': [ 4018, 4090 ], 'sources': [ 'source/patched-yasm/frontends/yasm/yasm-options.c', 'source/patched-yasm/frontends/yasm/yasm.c', diff --git a/tools/memory_watcher/memory_watcher.gyp b/tools/memory_watcher/memory_watcher.gyp index feed6f8..eb19705 100644 --- a/tools/memory_watcher/memory_watcher.gyp +++ b/tools/memory_watcher/memory_watcher.gyp @@ -18,6 +18,10 @@ '../..', '<(DEPTH)/third_party/wtl/include', ], + # "/GS can not protect parameters and local variables from local buffer + # overrun because optimizations are disabled in function". Nothing to be + # done about this warning. + 'msvs_disabled_warnings': [ 4748 ], 'sources': [ 'call_stack.cc', 'call_stack.h', |