From b012f550170664843fb426c9f115741fc8e9584b Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Tue, 23 Aug 2016 11:50:01 -0700 Subject: Remove unnecessary compiler and warning flags from UIKit mkspecs All of these flags were blindly copied from Xcode and all of them are not needed because they are unnecessary or at the very least are for no reason specific to iOS/tvOS/watchOS. * -fvisibility=hidden, -fvisibility-inlines-hidden - handled in common/gcc-base.conf * -fpascal-strings - a Mac OS Classic legacy, no one uses these * -fmessage-length=0 - formatting option, not needed * -fexceptions, -fasm-blocks - these are on by default and not needed All explicitly enabled warnings are enabled by -Wall, which is handled in common/gcc-base.conf. All explicitly disabled warnings should not be disabled because we simply do not do this anywhere else in qmake. Change-Id: Ifb9b2ff100837c7cf5888493a6413c972609598d Reviewed-by: Oswald Buddenhagen Reviewed-by: Gabriel de Dietrich --- mkspecs/common/uikit/clang.conf | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/mkspecs/common/uikit/clang.conf b/mkspecs/common/uikit/clang.conf index 0c22282c797..6b9b7eea8e5 100644 --- a/mkspecs/common/uikit/clang.conf +++ b/mkspecs/common/uikit/clang.conf @@ -2,28 +2,6 @@ # compiler settings for iOS/tvOS/watchOS clang compilers # -# build flags -QMAKE_IOS_CFLAGS += -fvisibility=hidden -fpascal-strings -fmessage-length=0 -QMAKE_IOS_CFLAGS += -Wno-trigraphs -Wreturn-type -Wparentheses -Wswitch -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-shorten-64-to-32 -Wno-sign-conversion -QMAKE_IOS_CXXFLAGS += -fvisibility-inlines-hidden - # Based on the following information, http://clang.llvm.org/doxygen/ObjCRuntime_8h_source.html, # we can conclude that it's safe to always pass the following flags -QMAKE_IOS_OBJ_CFLAGS += -fobjc-nonfragile-abi -fobjc-legacy-dispatch - -# But these only apply to non-ARM targets -!contains(QT_ARCH, arm): QMAKE_IOS_CFLAGS += -fexceptions -fasm-blocks - -# Clang 3.1 (and above) flags -QMAKE_IOS_CFLAGS += -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wformat -Wno-missing-braces -Wno-unused-function -Wno-unused-label -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wpointer-sign -Wno-newline-eof -Wdeprecated-declarations -Winvalid-offsetof -Wno-conversion -QMAKE_IOS_CXXFLAGS += -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -QMAKE_IOS_OBJ_CFLAGS += -Wno-deprecated-implementations -Wprotocol -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector - -# Set build flags -QMAKE_CFLAGS += $$QMAKE_IOS_CFLAGS -QMAKE_CXXFLAGS += $$QMAKE_IOS_CFLAGS $$QMAKE_IOS_CXXFLAGS -QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_IOS_OBJ_CFLAGS - -QMAKE_IOS_CFLAGS = -QMAKE_IOS_CXXFLAGS = -QMAKE_IOS_OBJ_CFLAGS = +QMAKE_OBJECTIVE_CFLAGS += -fobjc-nonfragile-abi -fobjc-legacy-dispatch -- cgit v1.2.3