security/pkix/warnings.mozbuild
author Ciure Andrei <aciure@mozilla.com>
Wed, 11 Jul 2018 21:08:24 +0300
changeset 426222 4f5a3c8b55f75d05b9ff30c7d31c17f52cbddf1b
parent 407614 2361015585d4b3c4e79f73831aa2ccd1d02dcb3f
child 427310 bf4b4cfa51590a7856251bbdeeac8e4bed6a086e
permissions -rw-r--r--
Backed out 1 changesets (bug 1473637) for frequent wpt failures inputevent-constructor.htm/window-named-properties-002.html CLOSED TREE Backed out changeset 5342b206e024 (bug 1473637)

if CONFIG['CC_TYPE'] == 'clang':
  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-weak-vtables', # We rely on the linker to merge the duplicate vtables.
  ]
elif CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
  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'

    # The following warnings are disabled because MSVC 2017 headers aren't
    # warning free at the -Wall level.
    '-wd4365', # 'action' : conversion from 'type_1' to 'type_2',
               # signed/unsigned mismatch
    '-wd4619', # #pragma warning : there is no warning number 'number'
    '-wd4623', # 'derived class' : default constructor was implicitly defined as
               # deleted because a base class default constructor is
               # inaccessible or deleted
    '-wd4774', # '<function>' : format string expected in argument <position> is
               # not a string literal
    '-wd4987', # nonstandard extension used: 'throw (...)'

    # 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',
  ]