summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorscottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-23 22:32:24 +0000
committerscottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-23 22:32:24 +0000
commit239d21b43325b222435b5e5a0b2967dd2c33a483 (patch)
tree98ae28a7daebbf9bb758a687b64f2933fb5dcf26
parent7fb1ece140c9b8ff8ba5e92bdf6b8e44d741492d (diff)
downloadchromium_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--DEPS2
-rw-r--r--build/common.gypi10
-rw-r--r--skia/skia.gyp2
-rw-r--r--third_party/leveldatabase/env_chromium.cc3
-rw-r--r--third_party/lzma_sdk/CpuArch.h1
-rw-r--r--third_party/lzma_sdk/README.chromium3
-rw-r--r--third_party/mesa/mesa.gyp3
-rw-r--r--third_party/qcms/qcms.gyp3
-rw-r--r--third_party/yasm/yasm.gyp3
-rw-r--r--tools/memory_watcher/memory_watcher.gyp4
10 files changed, 29 insertions, 5 deletions
diff --git a/DEPS b/DEPS
index 8d63081..2b38fb2 100644
--- a/DEPS
+++ b/DEPS
@@ -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',