Enable GCC and Clang warnings for zero being used as a null pointer

This commit is contained in:
Mat Sutcliffe
2020-04-21 18:11:50 +01:00
parent 20c6bef800
commit a7c696d385
5 changed files with 33 additions and 10 deletions

View File

@@ -130,12 +130,6 @@ equals(WORD_SIZE,64)|!win32: disableSwiftConfig(sims.fsx, sims.fs9)
linux-g++: QMAKE_LFLAGS_DEBUG *= -rdynamic
################################
# Suppress stupid warnings
################################
include(warnings.pri)
################################
# Handle addresses larger than 2GB
################################
@@ -144,12 +138,27 @@ equals(WORD_SIZE,32) {
win32-g++: QMAKE_LFLAGS *= -Wl,--large-address-aware
}
################################
# Support different clang drivers
################################
defineReplace(clangArg) {
clang_cl: return(/clang:$$1)
else: return($$1)
}
################################
# Externals
################################
include(externals.pri)
################################
# Enable useful warnings, disable stupid ones
################################
include(warnings.pri)
################################
# Includes
################################

View File

@@ -39,6 +39,10 @@ else {
QMAKE_CXXFLAGS += -idirafter $$EXTERNALSROOT/common/include
}
llvm {
QMAKE_CXXFLAGS_WARN_ON *= $$clangArg(-isystem$$system_path($$EXTERNALSROOT/common/include))
}
equals(WORD_SIZE,64) {
EXTERNALS_BIN_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/64/bin
EXTERNALS_LIB_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/64/lib

View File

@@ -29,12 +29,15 @@ fsuipc {
simconnect {
DEFINES += SIMCONNECT_H_NOMANIFEST
equals(WORD_SIZE,64) {
INCLUDEPATH *= $$EXTERNALSROOT/common/include/simconnect/P3D-v4
SIMCONNECT_INCLUDE += $$EXTERNALSROOT/common/include/simconnect/P3D-v4
DEFINES += P3D_SDK_VERSION=400
}
equals(WORD_SIZE,32) {
INCLUDEPATH *= $$EXTERNALSROOT/common/include/simconnect/FSX-XPack
SIMCONNECT_INCLUDE += $$EXTERNALSROOT/common/include/simconnect/FSX-XPack
}
INCLUDEPATH *= $$SIMCONNECT_INCLUDE
gcc:QMAKE_CXXFLAGS_WARN_ON += -isystem $$SIMCONNECT_INCLUDE
llvm:QMAKE_CXXFLAGS_WARN_ON *= $$clangArg(-isystem$$system_path($$SIMCONNECT_INCLUDE))
}
blackgui {

View File

@@ -6,13 +6,16 @@ msvc:QMAKE_CXXFLAGS_WARN_ON -= -w44996
clang_cl:QMAKE_CXXFLAGS_WARN_ON *= /W4 -Wno-unknown-pragmas -Wno-undefined-inline -Wno-self-assign-overloaded
gcc:QMAKE_CXXFLAGS_WARN_ON *= -Woverloaded-virtual
gcc:QMAKE_CXXFLAGS_USE_PRECOMPILE = -Winvalid-pch $$QMAKE_CXXFLAGS_USE_PRECOMPILE
gcc|llvm:QMAKE_CXXFLAGS_WARN_ON *= -Wzero-as-null-pointer-constant
gcc:QMAKE_CXXFLAGS_WARN_ON += -isystem $$[QT_INSTALL_HEADERS]/QtCore
llvm:QMAKE_CXXFLAGS_WARN_ON *= -Wno-system-headers
# elevated warnings
swiftConfig(allowNoisyWarnings) {
llvm {
QMAKE_CXXFLAGS_WARN_ON -= -Wno-self-assign-overloaded
QMAKE_CXXFLAGS_WARN_ON *= -Weverything --system-header-prefix=$$[QT_INSTALL_HEADERS]
QMAKE_CXXFLAGS_WARN_ON += -Wno-system-headers -Wno-c++98-compat-pedantic -Wno-class-varargs -Wno-covered-switch-default
QMAKE_CXXFLAGS_WARN_ON *= -Weverything $$clangArg(--system-header-prefix=$$[QT_INSTALL_HEADERS])
QMAKE_CXXFLAGS_WARN_ON += -Wno-c++98-compat-pedantic -Wno-class-varargs -Wno-covered-switch-default
QMAKE_CXXFLAGS_WARN_ON += -Wno-documentation -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors
QMAKE_CXXFLAGS_WARN_ON += -Wno-gnu -Wno-missing-prototypes -Wno-newline-eof -Wno-padded -Wno-undefined-reinterpret-cast
QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-macros -Wno-used-but-marked-unused -Wno-weak-template-vtables

View File

@@ -25,6 +25,10 @@ else {
QMAKE_CXXFLAGS += -idirafter $$EXTERNALSROOT/common/include/qwt
}
llvm {
QMAKE_CXXFLAGS_WARN_ON *= $$clangArg(-isystem$$system_path($$EXTERNALSROOT/common/include/qwt))
}
# needed for "ShellScalingApi.h" only
# win32 { LIBS *= -lSHCore }