From a4083afc775a87629b31b3e9b00e92ff77ae1294 Mon Sep 17 00:00:00 2001 From: dismine Date: Wed, 4 Jun 2014 14:16:16 +0300 Subject: [PATCH] Clang's warnings. --HG-- branch : develop --- .../exception/vexceptionconversionerror.cpp | 2 +- .../exception/vexceptionemptyparameter.cpp | 2 +- src/libs/qmuparser/qmuparser.pro | 378 +++++++++++++++++- 3 files changed, 376 insertions(+), 6 deletions(-) diff --git a/src/app/exception/vexceptionconversionerror.cpp b/src/app/exception/vexceptionconversionerror.cpp index baaeee25a..973913faf 100644 --- a/src/app/exception/vexceptionconversionerror.cpp +++ b/src/app/exception/vexceptionconversionerror.cpp @@ -50,7 +50,7 @@ VExceptionConversionError::VExceptionConversionError(const VExceptionConversionE {} //--------------------------------------------------------------------------------------------------------------------- -VExceptionConversionError::~VExceptionConversionError() +VExceptionConversionError::~VExceptionConversionError() noexcept (true) {} //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/exception/vexceptionemptyparameter.cpp b/src/app/exception/vexceptionemptyparameter.cpp index 679ab7236..df8ce5051 100644 --- a/src/app/exception/vexceptionemptyparameter.cpp +++ b/src/app/exception/vexceptionemptyparameter.cpp @@ -59,7 +59,7 @@ VExceptionEmptyParameter::VExceptionEmptyParameter(const VExceptionEmptyParamete {} //--------------------------------------------------------------------------------------------------------------------- -VExceptionEmptyParameter::~VExceptionEmptyParameter() +VExceptionEmptyParameter::~VExceptionEmptyParameter() noexcept (true) {} //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/libs/qmuparser/qmuparser.pro b/src/libs/qmuparser/qmuparser.pro index 54e0732cd..4a46c8b68 100644 --- a/src/libs/qmuparser/qmuparser.pro +++ b/src/libs/qmuparser/qmuparser.pro @@ -23,9 +23,6 @@ MOC_DIR = moc # objecs files OBJECTS_DIR = obj -# files created rcc -#RCC_DIR = rcc - SOURCES += \ qmuparser.cpp \ qmuparsertokenreader.cpp \ @@ -77,7 +74,6 @@ CONFIG(debug, debug|release){ unix { *-g++{ QMAKE_CXXFLAGS += -isystem "/usr/include/qt5" -isystem "/usr/include/qt5/QtCore" -isystem "$${MOC_DIR}" \ - #-isystem "$${RCC_DIR}" \ -O0 -Wall -Wextra -pedantic -Weffc++ -Woverloaded-virtual -Wctor-dtor-privacy \ -Wnon-virtual-dtor -Wold-style-cast -Wconversion -Winit-self -Wstack-protector \ -Wunreachable-code -Wcast-align -Wcast-qual -Wdisabled-optimization -Wfloat-equal \ @@ -89,6 +85,380 @@ CONFIG(debug, debug|release){ -Wstrict-null-sentinel -Wstrict-overflow=5 -Wundef -Wno-unused -gdwarf-3 \ -ftrapv } + #Turn on Clang warnings + clang*{ + QMAKE_CXXFLAGS += \ + -isystem "/usr/include/qt5" \ + -isystem "/usr/include/qt5/QtCore" \ + -isystem "$${OUT_PWD}/$${MOC_DIR}" \ + -O0 \ + -fparse-all-comments \ + -Wabi \ + -Wabstract-final-class \ + -Wabstract-vbase-init \ + -Waddress \ + -Waddress-of-array-temporary \ + -Waddress-of-temporary \ + -Waggregate-return \ + -Wall \ + -Wambiguous-macro \ + -Wambiguous-member-template \ + -Wanalyzer-incompatible-plugin \ + -Wanonymous-pack-parens \ + -Warc \ + -Warc-abi \ + -Warc-bridge-casts-disallowed-in-nonarc \ + -Warc-maybe-repeated-use-of-weak \ + -Warc-non-pod-memaccess \ + -Warc-performSelector-leaks \ + -Warc-repeated-use-of-weak \ + -Warc-retain-cycles \ + -Warc-unsafe-retained-assign \ + -Warray-bounds \ + -Warray-bounds-pointer-arithmetic \ + -Wasm \ + -Wasm-operand-widths \ + -Wassign-enum \ + -Watomic-properties \ + -Watomic-property-with-user-defined-accessor \ + -Wattributes \ + -Wauto-import \ + -Wauto-storage-class \ + -Wauto-var-id \ + -Wavailability \ + -Wbackslash-newline-escape \ + -Wbad-array-new-length \ + -Wbad-function-cast \ + -Wbind-to-temporary-copy \ + -Wbitfield-constant-conversion \ + -Wbitwise-op-parentheses \ + -Wbool-conversion \ + -Wbool-conversions \ + -Wbuiltin-macro-redefined \ + -Wbuiltin-requires-header \ + -Wc++-compat \ + -Wc++0x-compat \ + -Wc++0x-extensions \ + -Wc++0x-narrowing \ + -Wc++11-compat \ + -Wc++11-compat-pedantic \ + -Wc++11-compat-reserved-user-defined-literal \ + -Wc++11-extensions \ + -Wc++11-extra-semi \ + -Wc++11-long-long \ + -Wc++11-narrowing \ + -Wc11-extensions \ + -Wcast-align \ + -Wcast-of-sel-type \ + -Wcast-qual \ + -WCFString-literal \ + -Wchar-align \ + -Wchar-subscripts \ + -Wcomment \ + -Wcomments \ + -Wcompare-distinct-pointer-types \ + -Wcomplex-component-init \ + -Wconditional-type-mismatch \ + -Wconditional-uninitialized \ + -Wconfig-macros \ + -Wconstant-conversion \ + -Wconstant-logical-operand \ + -Wconstexpr-not-const \ + -Wconversion \ + -Wconversion-null \ + -Wno-covered-switch-default \ + -Wctor-dtor-privacy \ + -Wcustom-atomic-properties \ + -Wdangling-else \ + -Wdangling-field \ + -Wdangling-initializer-list \ + -Wdeclaration-after-statement \ + -Wdelegating-ctor-cycles \ + -Wdelete-incomplete \ + -Wdelete-non-virtual-dtor \ + -Wdeprecated \ + -Wdeprecated-declarations \ + -Wdeprecated-implementations \ + -Wdeprecated-objc-isa-usage \ + -Wdeprecated-objc-pointer-introspection \ + -Wdeprecated-objc-pointer-introspection-performSelector \ + -Wdeprecated-register \ + -Wdeprecated-writable-strings \ + -Wdirect-ivar-access \ + -Wdisabled-macro-expansion \ + -Wdisabled-optimization \ + -Wdiscard-qual \ + -Wdistributed-object-modifiers \ + -Wdiv-by-zero \ + -Wdivision-by-zero \ + -Wdocumentation \ + -Wdocumentation-deprecated-sync \ + -Wdocumentation-html \ + -Wdollar-in-identifier-extension \ + -Wduplicate-decl-specifier \ + -Wduplicate-enum \ + -Wduplicate-method-arg \ + -Wduplicate-method-match \ + -Wdynamic-class-memaccess \ + -Weffc++ \ + -Wembedded-directive \ + -Wempty-body \ + -Wempty-translation-unit \ + -Wendif-labels \ + -Wenum-compare \ + -Wenum-conversion \ + -Wexplicit-ownership-type \ + -Wextended-offsetof \ + -Wextern-initializer \ + -Wextra \ + -Wextra-semi \ + -Wextra-tokens \ + -Wflexible-array-extensions \ + -Wfloat-equal \ + -Wformat \ + -Wformat-extra-args \ + -Wformat-invalid-specifier \ + -Wformat-non-iso \ + -Wformat-nonliteral \ + -Wformat-security \ + -Wformat-y2k \ + -Wformat-zero-length \ + -Wformat=2 \ + -Wfour-char-constants \ + -Wgcc-compat \ + -Wgnu \ + -Wgnu-array-member-paren-init \ + -Wgnu-designator \ + -Wgnu-static-float-init \ + -Wheader-guard \ + -Wheader-hygiene \ + -Widiomatic-parentheses \ + -Wignored-attributes \ + -Wignored-qualifiers \ + -Wimplicit \ + -Wimplicit-atomic-properties \ + -Wimplicit-conversion-floating-point-to-bool \ + -Wimplicit-exception-spec-mismatch \ + -Wimplicit-fallthrough \ + -Wimplicit-fallthrough-per-function \ + -Wimplicit-function-declaration \ + -Wimplicit-int \ + -Wimplicit-retain-self \ + -Wimport \ + -Wimport-preprocessor-directive-pedantic \ + -Wincompatible-library-redeclaration \ + -Wincompatible-pointer-types \ + -Wincompatible-pointer-types-discards-qualifiers \ + -Wincomplete-implementation \ + -Wincomplete-module \ + -Wincomplete-umbrella \ + -Winherited-variadic-ctor \ + -Winit-self \ + -Winitializer-overrides \ + -Winline \ + -Wint-conversion \ + -Wint-conversions \ + -Wint-to-pointer-cast \ + -Wint-to-void-pointer-cast \ + -Winteger-overflow \ + -Winvalid-constexpr \ + -Winvalid-iboutlet \ + -Winvalid-noreturn \ + -Winvalid-offsetof \ + -Winvalid-pch \ + -Winvalid-pp-token \ + -Winvalid-source-encoding \ + -Winvalid-token-paste \ + -Wknr-promoted-parameter \ + -Wlanguage-extension-token \ + -Wlarge-by-value-copy \ + -Wliteral-conversion \ + -Wliteral-range \ + -Wlocal-type-template-args \ + -Wlogical-not-parentheses \ + -Wlogical-op-parentheses \ + -Wlong-long \ + -Wloop-analysis \ + -Wmain \ + -Wmain-return-type \ + -Wmalformed-warning-check \ + -Wmethod-signatures \ + -Wmicrosoft \ + -Wmicrosoft-exists \ + -Wmismatched-parameter-types \ + -Wmismatched-return-types \ + -Wmismatched-tags \ + -Wmissing-braces \ + -Wmissing-declarations \ + -Wmissing-field-initializers \ + -Wmissing-format-attribute \ + -Wmissing-include-dirs \ + -Wmissing-method-return-type \ + -Wmissing-noreturn \ + -Wmissing-prototypes \ + -Wmissing-selector-name \ + -Wmissing-sysroot \ + -Wmissing-variable-declarations \ + -Wmodule-conflict \ + -Wmost \ + -Wmultichar \ + -Wnarrowing \ + -Wnested-externs \ + -Wnewline-eof \ + -Wnon-gcc \ + -Wnon-literal-null-conversion \ + -Wnon-pod-varargs \ + -Wnon-virtual-dtor \ + -Wnonnull \ + -Wnonportable-cfstrings \ + -WNSObject-attribute \ + -Wnull-arithmetic \ + -Wnull-character \ + -Wnull-conversion \ + -Wnull-dereference \ + -Wodr \ + -Wold-style-cast \ + -Wold-style-definition \ + -Wout-of-line-declaration \ + -Wover-aligned \ + -Woverflow \ + -Woverlength-strings \ + -Woverloaded-shift-op-parentheses \ + -Woverloaded-virtual \ + -Woverriding-method-mismatch \ + -Wpacked \ + -Wparentheses \ + -Wparentheses-equality \ + -Wpedantic \ + -Wpointer-arith \ + -Wpointer-sign \ + -Wpointer-to-int-cast \ + -Wpointer-type-mismatch \ + -Wpredefined-identifier-outside-function \ + -Wprivate-extern \ + -Wprotocol \ + -Wprotocol-property-synthesis-ambiguity \ + -Wreadonly-iboutlet-property \ + -Wreceiver-expr \ + -Wreceiver-forward-class \ + -Wreceiver-is-weak \ + -Wredundant-decls \ + -Wreinterpret-base-class \ + -Wreorder \ + -Wrequires-super-attribute \ + -Wreserved-user-defined-literal \ + -Wreturn-stack-address \ + -Wreturn-type \ + -Wreturn-type-c-linkage \ + -Wsection \ + -Wselector \ + -Wselector-type-mismatch \ + -Wself-assign \ + -Wself-assign-field \ + -Wsemicolon-before-method-body \ + -Wsentinel \ + -Wsequence-point \ + -Wserialized-diagnostics \ + -Wshadow-ivar \ + -Wshift-count-negative \ + -Wshift-count-overflow \ + -Wshift-op-parentheses \ + -Wshift-overflow \ + -Wshift-sign-overflow \ + -Wshorten-64-to-32 \ + -Wsign-compare \ + -Wsign-conversion \ + -Wsign-promo \ + -Wsizeof-array-argument \ + -Wsizeof-array-decay \ + -Wsizeof-pointer-memaccess \ + -Wsometimes-uninitialized \ + -Wsource-uses-openmp \ + -Wstack-protector \ + -Wstatic-float-init \ + -Wstatic-in-inline \ + -Wstatic-local-in-inline \ + -Wstatic-self-init \ + -Wstrict-aliasing \ + -Wstrict-aliasing=0 \ + -Wstrict-aliasing=1 \ + -Wstrict-aliasing=2 \ + -Wstrict-overflow \ + -Wstrict-overflow=0 \ + -Wstrict-overflow=1 \ + -Wstrict-overflow=2 \ + -Wstrict-overflow=3 \ + -Wstrict-overflow=4 \ + -Wstrict-overflow=5 \ + -Wstrict-prototypes \ + -Wstrict-selector-match \ + -Wstring-compare \ + -Wstring-conversion \ + -Wstring-plus-int \ + -Wstrlcpy-strlcat-size \ + -Wstrncat-size \ + -Wsuper-class-method-mismatch \ + -Wswitch \ + -Wswitch-default \ + -Wswitch-enum \ + -Wsynth \ + -Wtautological-compare \ + -Wtautological-constant-out-of-range-compare \ + -Wtentative-definition-incomplete-type \ + -Wthread-safety \ + -Wthread-safety-analysis \ + -Wthread-safety-attributes \ + -Wthread-safety-beta \ + -Wthread-safety-precise \ + -Wtrigraphs \ + -Wtype-limits \ + -Wtype-safety \ + -Wtypedef-redefinition \ + -Wtypename-missing \ + -Wundeclared-selector \ + -Wundef \ + -Wundefined-inline \ + -Wundefined-internal \ + -Wundefined-reinterpret-cast \ + -Wunicode \ + -Wunicode-whitespace \ + -Wuninitialized \ + -Wunknown-warning-option \ + -Wunnamed-type-template-args \ + -Wunneeded-internal-declaration \ + -Wunneeded-member-function \ + -Wunsequenced \ + -Wunsupported-visibility \ + -Wunused \ + -Wunused-argument \ + -Wunused-command-line-argument \ + -Wunused-comparison \ + -Wunused-exception-parameter \ + -Wunused-function \ + -Wunused-label \ + -Wunused-member-function \ + -Wunused-parameter \ + -Wunused-private-field \ + -Wunused-result \ + -Wunused-sanitize-argument \ + -Wunused-value \ + -Wunused-variable \ + -Wunused-volatile-lvalue \ + -Wuser-defined-literals \ + -Wvarargs \ + -Wvariadic-macros \ + -Wvector-conversion \ + -Wvector-conversions \ + -Wvexing-parse \ + -Wvisibility \ + -Wvla \ + -Wvla-extension \ + -Wvolatile-register-var \ + -Wweak-template-vtables \ + -Wweak-vtables \ + -Wwrite-strings \ + -Wzero-length-array + } } else { *-g++{#Don't use additional GCC keys on Windows system. QMAKE_CXXFLAGS += -O0 -Wall -Wextra -pedantic