diff --git a/build/common.gypi b/build/common.gypi index c3bc3dff..cbea957 100644 --- a/build/common.gypi +++ b/build/common.gypi
@@ -3140,12 +3140,8 @@ }, 'conditions': [ [ 'os_posix==1 and OS!="mac" and OS!="ios"', { - # We don't want to get warnings from third-party code, - # so remove any existing warning-enabling flags like -Wall. - 'cflags!': [ - '-Wall', - '-Wextra', - ], + # Remove -Wextra for third-party code. + 'cflags!': [ '-Wextra' ], 'cflags_cc': [ # Don't warn about hash_map in third-party code. '-Wno-deprecated', @@ -3155,10 +3151,11 @@ # This is off by default in gcc but on in Ubuntu's gcc(!). '-Wno-format', ], - 'cflags_cc!': [ - # Necessary because llvm.org/PR10448 is WONTFIX (crbug.com/90453). - '-Wsign-compare', - ] + }], + [ 'os_posix==1 and clang!=1 and OS!="mac" and OS!="ios"', { + # When we don't control the compiler, don't use -Wall for + # third-party code either. + 'cflags!': [ '-Wall' ], }], # TODO: Fix all warnings on chromeos too. [ 'os_posix==1 and OS!="mac" and OS!="ios" and (clang!=1 or chromeos==1)', { @@ -3210,7 +3207,7 @@ [ 'OS=="mac" or OS=="ios"', { 'xcode_settings': { - 'WARNING_CFLAGS!': ['-Wall', '-Wextra'], + 'WARNING_CFLAGS!': ['-Wextra'], }, 'conditions': [ ['buildtype=="Official"', { @@ -3723,6 +3720,10 @@ 'variables': { 'werror%': '-Werror', 'libraries_for_target%': '', + 'conditions' : [ + # Enable -Wextra for chromium_code when we control the compiler. + ['clang==1', { 'wextra': '-Wextra' }, { 'wextra': '-Wno-extra' }], + ], }, 'defines': [ '_FILE_OFFSET_BITS=64', @@ -3732,6 +3733,7 @@ '-pthread', '-fno-strict-aliasing', # See http://crbug.com/32204 '-Wall', + '<(wextra)', # Don't warn about unused function params. We use those everywhere. '-Wno-unused-parameter', # Don't warn about the "struct foo f = {0};" initialization pattern. @@ -3748,9 +3750,6 @@ # Make inline functions have hidden visiblity by default. # Surprisingly, not covered by -fvisibility=hidden. '-fvisibility-inlines-hidden', - # GCC turns on -Wsign-compare for C++ under -Wall, but clang doesn't, - # so we specify it explicitly. (llvm.org/PR10448, crbug.com/90453) - '-Wsign-compare', ], 'ldflags': [ '-pthread', '-Wl,-z,noexecstack',