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