diff options
Diffstat (limited to 'security/pkix/warnings.mozbuild')
-rw-r--r-- | security/pkix/warnings.mozbuild | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/security/pkix/warnings.mozbuild b/security/pkix/warnings.mozbuild new file mode 100644 index 000000000..3fdc10bd7 --- /dev/null +++ b/security/pkix/warnings.mozbuild @@ -0,0 +1,41 @@ +if CONFIG['CLANG_CXX']: + CXXFLAGS += [ + '-Weverything', + + '-Wno-c++98-compat', + '-Wno-c++98-compat-pedantic', + '-Wno-missing-prototypes', + '-Wno-missing-variable-declarations', + '-Wno-padded', + '-Wno-reserved-id-macro', # NSPR and NSS use reserved IDs in their include guards. + '-Wno-shadow', # XXX: Clang's rules are too strict for constructors. + '-Wno-weak-vtables', # We rely on the linker to merge the duplicate vtables. + ] +elif CONFIG['_MSC_VER']: + CXXFLAGS += [ + '-sdl', # Enable additional security checks based on Microsoft's SDL. + + '-Wall', + + '-wd4464', # relative include path contains '..' + '-wd4514', # 'function': unreferenced inline function has been removed + '-wd4668', # warning C4668: 'X' is not defined as a preprocessor macro, + # replacing with '0' for '#if/#elif'. + '-wd4710', # 'function': function not inlined + '-wd4711', # function 'function' selected for inline expansion + '-wd4800', # forcing value to bool 'true' or 'false' + '-wd4820', # 'bytes' bytes padding added after construct 'member_name' + + # XXX: We cannot use /Za (Disable Microsoft Extensions) because windows.h + # won't copmile with it. + '-Zc:forScope', # Standard C++ rules for variable scope in for loops. + '-Zc:inline', # Standard C++ rules requiring definition inline functions. + '-Zc:rvalueCast', # Standard C++ rules for result of cast being an rvalue. + '-Zc:strictStrings', # Standard C++ rule that string literals are const. + ] +else: + CXXFLAGS += [ + '-Wall', + '-Wextra', + '-pedantic-errors', + ] |