diff options
-rw-r--r-- | .gitlab-ci.yml | 18 | ||||
-rwxr-xr-x | tools/ci/jobs/gcc6.sh | 329 | ||||
-rwxr-xr-x | tools/ci/jobs/gcc6_sanitize.sh | 336 | ||||
-rwxr-xr-x | tools/ci/jobs/gcc6_tests.sh | 330 |
4 files changed, 1013 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e37fed93f..2739d462b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -111,12 +111,24 @@ gcc-snapshot_sdl2: - ./tools/ci/jobs/gccsnapshot_sdl2.sh image: debian:unstable +gcc-6: + stage: build + script: + - ./tools/ci/jobs/gcc6.sh + image: debian:unstable + gcc-5_sanitize: stage: build script: - ./tools/ci/jobs/gcc5_sanitize.sh image: debian:unstable +gcc-6_sanitize: + stage: build + script: + - ./tools/ci/jobs/gcc6_sanitize.sh + image: debian:unstable + gcc_tmwa: stage: build script: @@ -263,6 +275,12 @@ gcc-5_tests: - ./tools/ci/jobs/gcc5_tests.sh image: debian:unstable +gcc-6_tests: + stage: test + script: + - ./tools/ci/jobs/gcc6_tests.sh + image: debian:unstable + gcc-5_lto: stage: test script: diff --git a/tools/ci/jobs/gcc6.sh b/tools/ci/jobs/gcc6.sh new file mode 100755 index 000000000..abfb4c540 --- /dev/null +++ b/tools/ci/jobs/gcc6.sh @@ -0,0 +1,329 @@ +#!/bin/bash + +export CC=gcc-6 +export CXX=g++-6 +export LOGFILE=gcc6.log + +source ./tools/ci/scripts/init.sh + +aptget_install gcc-6 g++-6 \ + make autoconf automake autopoint gettext libphysfs-dev \ + libxml2-dev libcurl4-gnutls-dev libpng-dev \ + libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev + +export CXXFLAGS="-pedantic -ggdb3 -O2 -pipe -Wstrict-aliasing=2 \ +-Wstrict-overflow=1 -Wformat=1 -D_FORTIFY_SOURCE=2 \ +-std=gnu++1z -Wformat=1" + +#export CXXFLAGS="${CXXFLAGS} --all-warnings" +#export CXXFLAGS="${CXXFLAGS} --extra-warnings" +export CXXFLAGS="${CXXFLAGS} -W" +export CXXFLAGS="${CXXFLAGS} -Wabi" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wabi-tag" +#export CXXFLAGS="${CXXFLAGS} -Wabi=" +export CXXFLAGS="${CXXFLAGS} -Waddress" +# +++ ignoring. may be can be fixed? +#export CXXFLAGS="${CXXFLAGS} -Waggregate-return" +export CXXFLAGS="${CXXFLAGS} -Waggressive-loop-optimizations" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Waliasing" +#export CXXFLAGS="${CXXFLAGS} -Walign-commons" +export CXXFLAGS="${CXXFLAGS} -Wall" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wampersand" +export CXXFLAGS="${CXXFLAGS} -Warray-bounds" +# +++ need try it +export CXXFLAGS="${CXXFLAGS} -Warray-bounds=2" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Warray-temporaries" +#export CXXFLAGS="${CXXFLAGS} -Wassign-intercept" +export CXXFLAGS="${CXXFLAGS} -Wattributes" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wbad-function-cast" +export CXXFLAGS="${CXXFLAGS} -Wbool-compare" +export CXXFLAGS="${CXXFLAGS} -Wbuiltin-macro-redefined" +#export CXXFLAGS="${CXXFLAGS} -Wc++-compat" +#export CXXFLAGS="${CXXFLAGS} -Wc++0x-compat" +#export CXXFLAGS="${CXXFLAGS} -Wc++11-compat" +export CXXFLAGS="${CXXFLAGS} -Wc++14-compat" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wc-binding-type" +#export CXXFLAGS="${CXXFLAGS} -Wc90-c99-compat" +#export CXXFLAGS="${CXXFLAGS} -Wc99-c11-compat" +export CXXFLAGS="${CXXFLAGS} -Wcast-align" +export CXXFLAGS="${CXXFLAGS} -Wcast-qual" +export CXXFLAGS="${CXXFLAGS} -Wchar-subscripts" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wcharacter-truncation" +export CXXFLAGS="${CXXFLAGS} -Wchkp" +export CXXFLAGS="${CXXFLAGS} -Wclobbered" +export CXXFLAGS="${CXXFLAGS} -Wcomment" +export CXXFLAGS="${CXXFLAGS} -Wcomments" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wcompare-reals" +export CXXFLAGS="${CXXFLAGS} -Wconditionally-supported" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wconversion" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wconversion-extra" +export CXXFLAGS="${CXXFLAGS} -Wconversion-null" +export CXXFLAGS="${CXXFLAGS} -Wcoverage-mismatch" +export CXXFLAGS="${CXXFLAGS} -Wcpp" +export CXXFLAGS="${CXXFLAGS} -Wctor-dtor-privacy" +export CXXFLAGS="${CXXFLAGS} -Wdate-time" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wdeclaration-after-statement" +export CXXFLAGS="${CXXFLAGS} -Wdelete-incomplete" +export CXXFLAGS="${CXXFLAGS} -Wdelete-non-virtual-dtor" +export CXXFLAGS="${CXXFLAGS} -Wdeprecated" +export CXXFLAGS="${CXXFLAGS} -Wdeprecated-declarations" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wdesignated-init" +export CXXFLAGS="${CXXFLAGS} -Wdisabled-optimization" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wdiscarded-array-qualifiers" +#export CXXFLAGS="${CXXFLAGS} -Wdiscarded-qualifiers" +export CXXFLAGS="${CXXFLAGS} -Wdiv-by-zero" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wdouble-promotion" +export CXXFLAGS="${CXXFLAGS} -Wduplicated-cond" +# +++ too many warnings. may be used some times +#export CXXFLAGS="${CXXFLAGS} -Weffc++" +export CXXFLAGS="${CXXFLAGS} -Wempty-body" +export CXXFLAGS="${CXXFLAGS} -Wendif-labels" +export CXXFLAGS="${CXXFLAGS} -Wenum-compare" +export CXXFLAGS="${CXXFLAGS} -Werror-implicit-function-declaration" +export CXXFLAGS="${CXXFLAGS} -Wextra" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wfloat-conversion" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wfloat-equal" +export CXXFLAGS="${CXXFLAGS} -Wformat" +export CXXFLAGS="${CXXFLAGS} -Wformat-contains-nul" +export CXXFLAGS="${CXXFLAGS} -Wformat-extra-args" +# +++ ignoring. probably need use some times +#export CXXFLAGS="${CXXFLAGS} -Wformat-nonliteral" +export CXXFLAGS="${CXXFLAGS} -Wformat-security" +export CXXFLAGS="${CXXFLAGS} -Wformat-signedness" +export CXXFLAGS="${CXXFLAGS} -Wformat-y2k" +export CXXFLAGS="${CXXFLAGS} -Wformat-zero-length" +#export CXXFLAGS="${CXXFLAGS} -Wformat=" +export CXXFLAGS="${CXXFLAGS} -Wframe-address" +#export CXXFLAGS="${CXXFLAGS} -Wframe-larger-than=<number>" +export CXXFLAGS="${CXXFLAGS} -Wfree-nonheap-object" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wfunction-elimination" +export CXXFLAGS="${CXXFLAGS} -Whsa" +export CXXFLAGS="${CXXFLAGS} -Wignored-qualifiers" +export CXXFLAGS="${CXXFLAGS} -Wignored-attributes" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wimplicit" +#export CXXFLAGS="${CXXFLAGS} -Wimplicit-function-declaration" +#export CXXFLAGS="${CXXFLAGS} -Wimplicit-int" +#export CXXFLAGS="${CXXFLAGS} -Wimplicit-interface" +#export CXXFLAGS="${CXXFLAGS} -Wimplicit-procedure" +#export CXXFLAGS="${CXXFLAGS} -Wincompatible-pointer-types" +export CXXFLAGS="${CXXFLAGS} -Winherited-variadic-ctor" +export CXXFLAGS="${CXXFLAGS} -Winit-self" +# ignoting +#export CXXFLAGS="${CXXFLAGS} -Winline" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wint-conversion" +export CXXFLAGS="${CXXFLAGS} -Wint-to-pointer-cast" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Winteger-division" +#export CXXFLAGS="${CXXFLAGS} -Wintrinsic-shadow" +#export CXXFLAGS="${CXXFLAGS} -Wintrinsics-std" +export CXXFLAGS="${CXXFLAGS} -Winvalid-memory-model" +export CXXFLAGS="${CXXFLAGS} -Winvalid-offsetof" +export CXXFLAGS="${CXXFLAGS} -Winvalid-pch" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wjump-misses-init" +#export CXXFLAGS="${CXXFLAGS} -Wlarger-than-" +#export CXXFLAGS="${CXXFLAGS} -Wlarger-than=" +#export CXXFLAGS="${CXXFLAGS} -Wline-truncation" +export CXXFLAGS="${CXXFLAGS} -Wliteral-suffix" +export CXXFLAGS="${CXXFLAGS} -Wlogical-not-parentheses" +export CXXFLAGS="${CXXFLAGS} -Wlogical-op" +export CXXFLAGS="${CXXFLAGS} -Wlong-long" +export CXXFLAGS="${CXXFLAGS} -Wlto-type-mismatch" +export CXXFLAGS="${CXXFLAGS} -Wmain" +export CXXFLAGS="${CXXFLAGS} -Wmaybe-uninitialized" +export CXXFLAGS="${CXXFLAGS} -Wmemset-transposed-args" +export CXXFLAGS="${CXXFLAGS} -Wmisleading-indentation" +export CXXFLAGS="${CXXFLAGS} -Wmissing-braces" +export CXXFLAGS="${CXXFLAGS} -Wmissing-declarations" +export CXXFLAGS="${CXXFLAGS} -Wmissing-field-initializers" +export CXXFLAGS="${CXXFLAGS} -Wmissing-format-attribute" +export CXXFLAGS="${CXXFLAGS} -Wmissing-include-dirs" +export CXXFLAGS="${CXXFLAGS} -Wmissing-noreturn" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wmissing-parameter-type" +#export CXXFLAGS="${CXXFLAGS} -Wmissing-prototypes" +export CXXFLAGS="${CXXFLAGS} -Wmultichar" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wmultiple-inheritance" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wnamespaces" +export CXXFLAGS="${CXXFLAGS} -Wnarrowing" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wnested-externs" +export CXXFLAGS="${CXXFLAGS} -Wnoexcept" +export CXXFLAGS="${CXXFLAGS} -Wnon-template-friend" +export CXXFLAGS="${CXXFLAGS} -Wnon-virtual-dtor" +export CXXFLAGS="${CXXFLAGS} -Wnonnull" +export CXXFLAGS="${CXXFLAGS} -Wnonnull-compare" +#export CXXFLAGS="${CXXFLAGS} -Wnormalized" +export CXXFLAGS="${CXXFLAGS} -Wnormalized=nfkc" +export CXXFLAGS="${CXXFLAGS} -Wnull-dereference" +export CXXFLAGS="${CXXFLAGS} -Wodr" +# probably need fix it +#export CXXFLAGS="${CXXFLAGS} -Wold-style-cast" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wold-style-declaration" +#export CXXFLAGS="${CXXFLAGS} -Wold-style-definition" +export CXXFLAGS="${CXXFLAGS} -Wopenmp-simd" +export CXXFLAGS="${CXXFLAGS} -Woverflow" +export CXXFLAGS="${CXXFLAGS} -Woverlength-strings" +export CXXFLAGS="${CXXFLAGS} -Woverloaded-virtual" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Woverride-init" +#export CXXFLAGS="${CXXFLAGS} -Woverride-init-side-effects" +export CXXFLAGS="${CXXFLAGS} -Wpacked" +export CXXFLAGS="${CXXFLAGS} -Wpacked-bitfield-compat" +# +++ may be need fix in future? +#export CXXFLAGS="${CXXFLAGS} -Wpadded" +export CXXFLAGS="${CXXFLAGS} -Wparentheses" +export CXXFLAGS="${CXXFLAGS} -Wpedantic" +export CXXFLAGS="${CXXFLAGS} -Wplacement-new" +#export CXXFLAGS="${CXXFLAGS} -Wplacement-new=" +export CXXFLAGS="${CXXFLAGS} -Wpmf-conversions" +export CXXFLAGS="${CXXFLAGS} -Wpointer-arith" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wpointer-sign" +#export CXXFLAGS="${CXXFLAGS} -Wpointer-to-int-cast" +export CXXFLAGS="${CXXFLAGS} -Wpragmas" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wproperty-assign-default" +#export CXXFLAGS="${CXXFLAGS} -Wprotocol" +#export CXXFLAGS="${CXXFLAGS} -Wreal-q-constant" +#export CXXFLAGS="${CXXFLAGS} -Wrealloc-lhs" +#export CXXFLAGS="${CXXFLAGS} -Wrealloc-lhs-all" +export CXXFLAGS="${CXXFLAGS} -Wredundant-decls" +export CXXFLAGS="${CXXFLAGS} -Wreorder" +export CXXFLAGS="${CXXFLAGS} -Wreturn-local-addr" +export CXXFLAGS="${CXXFLAGS} -Wreturn-type" +export CXXFLAGS="${CXXFLAGS} -Wscalar-storage-order" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wselector" +export CXXFLAGS="${CXXFLAGS} -Wsequence-point" +export CXXFLAGS="${CXXFLAGS} -Wshadow" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wshadow-ivar" +export CXXFLAGS="${CXXFLAGS} -Wshift-count-negative" +export CXXFLAGS="${CXXFLAGS} -Wshift-count-overflow" +export CXXFLAGS="${CXXFLAGS} -Wshift-negative-value" +export CXXFLAGS="${CXXFLAGS} -Wshift-overflow" +#export CXXFLAGS="${CXXFLAGS} -Wshift-overflow=" +export CXXFLAGS="${CXXFLAGS} -Wsign-compare" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wsign-conversion" +export CXXFLAGS="${CXXFLAGS} -Wsign-promo" +export CXXFLAGS="${CXXFLAGS} -Wsized-deallocation" +export CXXFLAGS="${CXXFLAGS} -Wsizeof-array-argument" +export CXXFLAGS="${CXXFLAGS} -Wsizeof-pointer-memaccess" +export CXXFLAGS="${CXXFLAGS} -Wstack-protector" +#export CXXFLAGS="${CXXFLAGS} -Wstack-usage=" +export CXXFLAGS="${CXXFLAGS} -Wstrict-aliasing" +#export CXXFLAGS="${CXXFLAGS} -Wstrict-aliasing=" +export CXXFLAGS="${CXXFLAGS} -Wstrict-null-sentinel" +# used before +#export CXXFLAGS="${CXXFLAGS} -Wstrict-overflow" +#export CXXFLAGS="${CXXFLAGS} -Wstrict-overflow=" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wstrict-prototypes" +#export CXXFLAGS="${CXXFLAGS} -Wstrict-selector-match" +export CXXFLAGS="${CXXFLAGS} -Wsubobject-linkage" +# +++ ignoring +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-attribute=const" +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-attribute=format" +export CXXFLAGS="${CXXFLAGS} -Wsuggest-attribute=noreturn" +# +++ ignoring +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-attribute=pure" +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-final-methods" +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-final-types" +export CXXFLAGS="${CXXFLAGS} -Wsuggest-override" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wsurprising" +export CXXFLAGS="${CXXFLAGS} -Wswitch" +export CXXFLAGS="${CXXFLAGS} -Wswitch-bool" +export CXXFLAGS="${CXXFLAGS} -Wswitch-default" +export CXXFLAGS="${CXXFLAGS} -Wswitch-enum" +export CXXFLAGS="${CXXFLAGS} -Wsync-nand" +export CXXFLAGS="${CXXFLAGS} -Wsynth" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wsystem-headers" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wtabs" +#export CXXFLAGS="${CXXFLAGS} -Wtarget-lifetime" +export CXXFLAGS="${CXXFLAGS} -Wtautological-compare" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wtemplates" +export CXXFLAGS="${CXXFLAGS} -Wterminate" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wtraditional" +#export CXXFLAGS="${CXXFLAGS} -Wtraditional-conversion" +export CXXFLAGS="${CXXFLAGS} -Wtrampolines" +export CXXFLAGS="${CXXFLAGS} -Wtrigraphs" +export CXXFLAGS="${CXXFLAGS} -Wtype-limits" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wundeclared-selector" +export CXXFLAGS="${CXXFLAGS} -Wundef" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wunderflow" +export CXXFLAGS="${CXXFLAGS} -Wuninitialized" +export CXXFLAGS="${CXXFLAGS} -Wunknown-pragmas" +# +++ may be try use in future? +#export CXXFLAGS="${CXXFLAGS} -Wunsafe-loop-optimizations" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wunsuffixed-float-constants" +export CXXFLAGS="${CXXFLAGS} -Wunused" +export CXXFLAGS="${CXXFLAGS} -Wunused-but-set-parameter" +export CXXFLAGS="${CXXFLAGS} -Wunused-but-set-variable" +export CXXFLAGS="${CXXFLAGS} -Wunreachable-code" +export CXXFLAGS="${CXXFLAGS} -Wunused-const-variable=1" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wunused-dummy-argument" +export CXXFLAGS="${CXXFLAGS} -Wunused-function" +export CXXFLAGS="${CXXFLAGS} -Wunused-label" +export CXXFLAGS="${CXXFLAGS} -Wunused-local-typedefs" +export CXXFLAGS="${CXXFLAGS} -Wunused-macros" +export CXXFLAGS="${CXXFLAGS} -Wunused-parameter" +export CXXFLAGS="${CXXFLAGS} -Wunused-result" +export CXXFLAGS="${CXXFLAGS} -Wunused-value" +export CXXFLAGS="${CXXFLAGS} -Wunused-variable" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wuse-without-only" +# +++ need from time to time +#export CXXFLAGS="${CXXFLAGS} -Wuseless-cast" +export CXXFLAGS="${CXXFLAGS} -Wvarargs" +export CXXFLAGS="${CXXFLAGS} -Wvariadic-macros" +export CXXFLAGS="${CXXFLAGS} -Wvector-operation-performance" +export CXXFLAGS="${CXXFLAGS} -Wvirtual-inheritance" +export CXXFLAGS="${CXXFLAGS} -Wvirtual-move-assign" +export CXXFLAGS="${CXXFLAGS} -Wvla" +export CXXFLAGS="${CXXFLAGS} -Wvolatile-register-var" +export CXXFLAGS="${CXXFLAGS} -Wwrite-strings" +export CXXFLAGS="${CXXFLAGS} -Wzero-as-null-pointer-constant" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wzerotrip" +#export CXXFLAGS="${CXXFLAGS} -frequire-return-statement" + +do_init +run_configure --enable-werror +run_make + +source ./tools/ci/scripts/exit.sh + +exit 0 diff --git a/tools/ci/jobs/gcc6_sanitize.sh b/tools/ci/jobs/gcc6_sanitize.sh new file mode 100755 index 000000000..4bc6e22fc --- /dev/null +++ b/tools/ci/jobs/gcc6_sanitize.sh @@ -0,0 +1,336 @@ +#!/bin/bash + +export CC=gcc-6 +export CXX=g++-6 +export LOGFILE=gcc6.log + +source ./tools/ci/scripts/init.sh + +aptget_install gcc-6 g++-6 \ + make autoconf automake autopoint gettext libphysfs-dev \ + libxml2-dev libcurl4-gnutls-dev libpng-dev \ + libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev + +export CXXFLAGS="-pedantic -ggdb3 -O2 -pipe -Wstrict-aliasing=2 \ +-Wstrict-overflow=1 -Wformat=1 -D_FORTIFY_SOURCE=2 \ +-fsanitize=address -fsanitize=undefined \ +-fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable \ +-fsanitize=vla-bound -fsanitize=null -fsanitize=return \ +-fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=alignment \ +-fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow \ +-fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool \ +-fsanitize=enum -fsanitize=vptr \ +-std=gnu++1z -Wformat=1" + +#export CXXFLAGS="${CXXFLAGS} --all-warnings" +#export CXXFLAGS="${CXXFLAGS} --extra-warnings" +export CXXFLAGS="${CXXFLAGS} -W" +export CXXFLAGS="${CXXFLAGS} -Wabi" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wabi-tag" +#export CXXFLAGS="${CXXFLAGS} -Wabi=" +export CXXFLAGS="${CXXFLAGS} -Waddress" +# +++ ignoring. may be can be fixed? +#export CXXFLAGS="${CXXFLAGS} -Waggregate-return" +export CXXFLAGS="${CXXFLAGS} -Waggressive-loop-optimizations" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Waliasing" +#export CXXFLAGS="${CXXFLAGS} -Walign-commons" +export CXXFLAGS="${CXXFLAGS} -Wall" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wampersand" +export CXXFLAGS="${CXXFLAGS} -Warray-bounds" +# +++ need try it +export CXXFLAGS="${CXXFLAGS} -Warray-bounds=2" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Warray-temporaries" +#export CXXFLAGS="${CXXFLAGS} -Wassign-intercept" +export CXXFLAGS="${CXXFLAGS} -Wattributes" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wbad-function-cast" +export CXXFLAGS="${CXXFLAGS} -Wbool-compare" +export CXXFLAGS="${CXXFLAGS} -Wbuiltin-macro-redefined" +#export CXXFLAGS="${CXXFLAGS} -Wc++-compat" +#export CXXFLAGS="${CXXFLAGS} -Wc++0x-compat" +#export CXXFLAGS="${CXXFLAGS} -Wc++11-compat" +export CXXFLAGS="${CXXFLAGS} -Wc++14-compat" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wc-binding-type" +#export CXXFLAGS="${CXXFLAGS} -Wc90-c99-compat" +#export CXXFLAGS="${CXXFLAGS} -Wc99-c11-compat" +export CXXFLAGS="${CXXFLAGS} -Wcast-align" +export CXXFLAGS="${CXXFLAGS} -Wcast-qual" +export CXXFLAGS="${CXXFLAGS} -Wchar-subscripts" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wcharacter-truncation" +export CXXFLAGS="${CXXFLAGS} -Wchkp" +export CXXFLAGS="${CXXFLAGS} -Wclobbered" +export CXXFLAGS="${CXXFLAGS} -Wcomment" +export CXXFLAGS="${CXXFLAGS} -Wcomments" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wcompare-reals" +export CXXFLAGS="${CXXFLAGS} -Wconditionally-supported" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wconversion" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wconversion-extra" +export CXXFLAGS="${CXXFLAGS} -Wconversion-null" +export CXXFLAGS="${CXXFLAGS} -Wcoverage-mismatch" +export CXXFLAGS="${CXXFLAGS} -Wcpp" +export CXXFLAGS="${CXXFLAGS} -Wctor-dtor-privacy" +export CXXFLAGS="${CXXFLAGS} -Wdate-time" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wdeclaration-after-statement" +export CXXFLAGS="${CXXFLAGS} -Wdelete-incomplete" +export CXXFLAGS="${CXXFLAGS} -Wdelete-non-virtual-dtor" +export CXXFLAGS="${CXXFLAGS} -Wdeprecated" +export CXXFLAGS="${CXXFLAGS} -Wdeprecated-declarations" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wdesignated-init" +export CXXFLAGS="${CXXFLAGS} -Wdisabled-optimization" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wdiscarded-array-qualifiers" +#export CXXFLAGS="${CXXFLAGS} -Wdiscarded-qualifiers" +export CXXFLAGS="${CXXFLAGS} -Wdiv-by-zero" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wdouble-promotion" +export CXXFLAGS="${CXXFLAGS} -Wduplicated-cond" +# +++ too many warnings. may be used some times +#export CXXFLAGS="${CXXFLAGS} -Weffc++" +export CXXFLAGS="${CXXFLAGS} -Wempty-body" +export CXXFLAGS="${CXXFLAGS} -Wendif-labels" +export CXXFLAGS="${CXXFLAGS} -Wenum-compare" +export CXXFLAGS="${CXXFLAGS} -Werror-implicit-function-declaration" +export CXXFLAGS="${CXXFLAGS} -Wextra" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wfloat-conversion" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wfloat-equal" +export CXXFLAGS="${CXXFLAGS} -Wformat" +export CXXFLAGS="${CXXFLAGS} -Wformat-contains-nul" +export CXXFLAGS="${CXXFLAGS} -Wformat-extra-args" +# +++ ignoring. probably need use some times +#export CXXFLAGS="${CXXFLAGS} -Wformat-nonliteral" +export CXXFLAGS="${CXXFLAGS} -Wformat-security" +export CXXFLAGS="${CXXFLAGS} -Wformat-signedness" +export CXXFLAGS="${CXXFLAGS} -Wformat-y2k" +export CXXFLAGS="${CXXFLAGS} -Wformat-zero-length" +#export CXXFLAGS="${CXXFLAGS} -Wformat=" +export CXXFLAGS="${CXXFLAGS} -Wframe-address" +#export CXXFLAGS="${CXXFLAGS} -Wframe-larger-than=<number>" +export CXXFLAGS="${CXXFLAGS} -Wfree-nonheap-object" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wfunction-elimination" +export CXXFLAGS="${CXXFLAGS} -Whsa" +export CXXFLAGS="${CXXFLAGS} -Wignored-qualifiers" +export CXXFLAGS="${CXXFLAGS} -Wignored-attributes" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wimplicit" +#export CXXFLAGS="${CXXFLAGS} -Wimplicit-function-declaration" +#export CXXFLAGS="${CXXFLAGS} -Wimplicit-int" +#export CXXFLAGS="${CXXFLAGS} -Wimplicit-interface" +#export CXXFLAGS="${CXXFLAGS} -Wimplicit-procedure" +#export CXXFLAGS="${CXXFLAGS} -Wincompatible-pointer-types" +export CXXFLAGS="${CXXFLAGS} -Winherited-variadic-ctor" +export CXXFLAGS="${CXXFLAGS} -Winit-self" +# ignoting +#export CXXFLAGS="${CXXFLAGS} -Winline" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wint-conversion" +export CXXFLAGS="${CXXFLAGS} -Wint-to-pointer-cast" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Winteger-division" +#export CXXFLAGS="${CXXFLAGS} -Wintrinsic-shadow" +#export CXXFLAGS="${CXXFLAGS} -Wintrinsics-std" +export CXXFLAGS="${CXXFLAGS} -Winvalid-memory-model" +export CXXFLAGS="${CXXFLAGS} -Winvalid-offsetof" +export CXXFLAGS="${CXXFLAGS} -Winvalid-pch" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wjump-misses-init" +#export CXXFLAGS="${CXXFLAGS} -Wlarger-than-" +#export CXXFLAGS="${CXXFLAGS} -Wlarger-than=" +#export CXXFLAGS="${CXXFLAGS} -Wline-truncation" +export CXXFLAGS="${CXXFLAGS} -Wliteral-suffix" +export CXXFLAGS="${CXXFLAGS} -Wlogical-not-parentheses" +export CXXFLAGS="${CXXFLAGS} -Wlogical-op" +export CXXFLAGS="${CXXFLAGS} -Wlong-long" +export CXXFLAGS="${CXXFLAGS} -Wlto-type-mismatch" +export CXXFLAGS="${CXXFLAGS} -Wmain" +export CXXFLAGS="${CXXFLAGS} -Wmaybe-uninitialized" +export CXXFLAGS="${CXXFLAGS} -Wmemset-transposed-args" +export CXXFLAGS="${CXXFLAGS} -Wmisleading-indentation" +export CXXFLAGS="${CXXFLAGS} -Wmissing-braces" +export CXXFLAGS="${CXXFLAGS} -Wmissing-declarations" +export CXXFLAGS="${CXXFLAGS} -Wmissing-field-initializers" +export CXXFLAGS="${CXXFLAGS} -Wmissing-format-attribute" +export CXXFLAGS="${CXXFLAGS} -Wmissing-include-dirs" +export CXXFLAGS="${CXXFLAGS} -Wmissing-noreturn" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wmissing-parameter-type" +#export CXXFLAGS="${CXXFLAGS} -Wmissing-prototypes" +export CXXFLAGS="${CXXFLAGS} -Wmultichar" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wmultiple-inheritance" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wnamespaces" +export CXXFLAGS="${CXXFLAGS} -Wnarrowing" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wnested-externs" +export CXXFLAGS="${CXXFLAGS} -Wnoexcept" +export CXXFLAGS="${CXXFLAGS} -Wnon-template-friend" +export CXXFLAGS="${CXXFLAGS} -Wnon-virtual-dtor" +export CXXFLAGS="${CXXFLAGS} -Wnonnull" +export CXXFLAGS="${CXXFLAGS} -Wnonnull-compare" +#export CXXFLAGS="${CXXFLAGS} -Wnormalized" +export CXXFLAGS="${CXXFLAGS} -Wnormalized=nfkc" +export CXXFLAGS="${CXXFLAGS} -Wnull-dereference" +export CXXFLAGS="${CXXFLAGS} -Wodr" +# probably need fix it +#export CXXFLAGS="${CXXFLAGS} -Wold-style-cast" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wold-style-declaration" +#export CXXFLAGS="${CXXFLAGS} -Wold-style-definition" +export CXXFLAGS="${CXXFLAGS} -Wopenmp-simd" +export CXXFLAGS="${CXXFLAGS} -Woverflow" +export CXXFLAGS="${CXXFLAGS} -Woverlength-strings" +export CXXFLAGS="${CXXFLAGS} -Woverloaded-virtual" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Woverride-init" +#export CXXFLAGS="${CXXFLAGS} -Woverride-init-side-effects" +export CXXFLAGS="${CXXFLAGS} -Wpacked" +export CXXFLAGS="${CXXFLAGS} -Wpacked-bitfield-compat" +# +++ may be need fix in future? +#export CXXFLAGS="${CXXFLAGS} -Wpadded" +export CXXFLAGS="${CXXFLAGS} -Wparentheses" +export CXXFLAGS="${CXXFLAGS} -Wpedantic" +export CXXFLAGS="${CXXFLAGS} -Wplacement-new" +#export CXXFLAGS="${CXXFLAGS} -Wplacement-new=" +export CXXFLAGS="${CXXFLAGS} -Wpmf-conversions" +export CXXFLAGS="${CXXFLAGS} -Wpointer-arith" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wpointer-sign" +#export CXXFLAGS="${CXXFLAGS} -Wpointer-to-int-cast" +export CXXFLAGS="${CXXFLAGS} -Wpragmas" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wproperty-assign-default" +#export CXXFLAGS="${CXXFLAGS} -Wprotocol" +#export CXXFLAGS="${CXXFLAGS} -Wreal-q-constant" +#export CXXFLAGS="${CXXFLAGS} -Wrealloc-lhs" +#export CXXFLAGS="${CXXFLAGS} -Wrealloc-lhs-all" +export CXXFLAGS="${CXXFLAGS} -Wredundant-decls" +export CXXFLAGS="${CXXFLAGS} -Wreorder" +export CXXFLAGS="${CXXFLAGS} -Wreturn-local-addr" +export CXXFLAGS="${CXXFLAGS} -Wreturn-type" +export CXXFLAGS="${CXXFLAGS} -Wscalar-storage-order" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wselector" +export CXXFLAGS="${CXXFLAGS} -Wsequence-point" +export CXXFLAGS="${CXXFLAGS} -Wshadow" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wshadow-ivar" +export CXXFLAGS="${CXXFLAGS} -Wshift-count-negative" +export CXXFLAGS="${CXXFLAGS} -Wshift-count-overflow" +export CXXFLAGS="${CXXFLAGS} -Wshift-negative-value" +export CXXFLAGS="${CXXFLAGS} -Wshift-overflow" +#export CXXFLAGS="${CXXFLAGS} -Wshift-overflow=" +export CXXFLAGS="${CXXFLAGS} -Wsign-compare" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wsign-conversion" +export CXXFLAGS="${CXXFLAGS} -Wsign-promo" +export CXXFLAGS="${CXXFLAGS} -Wsized-deallocation" +export CXXFLAGS="${CXXFLAGS} -Wsizeof-array-argument" +export CXXFLAGS="${CXXFLAGS} -Wsizeof-pointer-memaccess" +export CXXFLAGS="${CXXFLAGS} -Wstack-protector" +#export CXXFLAGS="${CXXFLAGS} -Wstack-usage=" +export CXXFLAGS="${CXXFLAGS} -Wstrict-aliasing" +#export CXXFLAGS="${CXXFLAGS} -Wstrict-aliasing=" +export CXXFLAGS="${CXXFLAGS} -Wstrict-null-sentinel" +# used before +#export CXXFLAGS="${CXXFLAGS} -Wstrict-overflow" +#export CXXFLAGS="${CXXFLAGS} -Wstrict-overflow=" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wstrict-prototypes" +#export CXXFLAGS="${CXXFLAGS} -Wstrict-selector-match" +export CXXFLAGS="${CXXFLAGS} -Wsubobject-linkage" +# +++ ignoring +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-attribute=const" +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-attribute=format" +export CXXFLAGS="${CXXFLAGS} -Wsuggest-attribute=noreturn" +# +++ ignoring +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-attribute=pure" +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-final-methods" +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-final-types" +export CXXFLAGS="${CXXFLAGS} -Wsuggest-override" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wsurprising" +export CXXFLAGS="${CXXFLAGS} -Wswitch" +export CXXFLAGS="${CXXFLAGS} -Wswitch-bool" +export CXXFLAGS="${CXXFLAGS} -Wswitch-default" +export CXXFLAGS="${CXXFLAGS} -Wswitch-enum" +export CXXFLAGS="${CXXFLAGS} -Wsync-nand" +export CXXFLAGS="${CXXFLAGS} -Wsynth" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wsystem-headers" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wtabs" +#export CXXFLAGS="${CXXFLAGS} -Wtarget-lifetime" +export CXXFLAGS="${CXXFLAGS} -Wtautological-compare" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wtemplates" +export CXXFLAGS="${CXXFLAGS} -Wterminate" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wtraditional" +#export CXXFLAGS="${CXXFLAGS} -Wtraditional-conversion" +export CXXFLAGS="${CXXFLAGS} -Wtrampolines" +export CXXFLAGS="${CXXFLAGS} -Wtrigraphs" +export CXXFLAGS="${CXXFLAGS} -Wtype-limits" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wundeclared-selector" +export CXXFLAGS="${CXXFLAGS} -Wundef" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wunderflow" +export CXXFLAGS="${CXXFLAGS} -Wuninitialized" +export CXXFLAGS="${CXXFLAGS} -Wunknown-pragmas" +# +++ may be try use in future? +#export CXXFLAGS="${CXXFLAGS} -Wunsafe-loop-optimizations" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wunsuffixed-float-constants" +export CXXFLAGS="${CXXFLAGS} -Wunused" +export CXXFLAGS="${CXXFLAGS} -Wunused-but-set-parameter" +export CXXFLAGS="${CXXFLAGS} -Wunused-but-set-variable" +export CXXFLAGS="${CXXFLAGS} -Wunreachable-code" +export CXXFLAGS="${CXXFLAGS} -Wunused-const-variable=1" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wunused-dummy-argument" +export CXXFLAGS="${CXXFLAGS} -Wunused-function" +export CXXFLAGS="${CXXFLAGS} -Wunused-label" +export CXXFLAGS="${CXXFLAGS} -Wunused-local-typedefs" +export CXXFLAGS="${CXXFLAGS} -Wunused-macros" +export CXXFLAGS="${CXXFLAGS} -Wunused-parameter" +export CXXFLAGS="${CXXFLAGS} -Wunused-result" +export CXXFLAGS="${CXXFLAGS} -Wunused-value" +export CXXFLAGS="${CXXFLAGS} -Wunused-variable" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wuse-without-only" +# +++ need from time to time +#export CXXFLAGS="${CXXFLAGS} -Wuseless-cast" +export CXXFLAGS="${CXXFLAGS} -Wvarargs" +export CXXFLAGS="${CXXFLAGS} -Wvariadic-macros" +export CXXFLAGS="${CXXFLAGS} -Wvector-operation-performance" +export CXXFLAGS="${CXXFLAGS} -Wvirtual-inheritance" +export CXXFLAGS="${CXXFLAGS} -Wvirtual-move-assign" +export CXXFLAGS="${CXXFLAGS} -Wvla" +export CXXFLAGS="${CXXFLAGS} -Wvolatile-register-var" +export CXXFLAGS="${CXXFLAGS} -Wwrite-strings" +export CXXFLAGS="${CXXFLAGS} -Wzero-as-null-pointer-constant" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wzerotrip" +#export CXXFLAGS="${CXXFLAGS} -frequire-return-statement" + +do_init +run_configure --enable-werror +run_make + +source ./tools/ci/scripts/exit.sh + +exit 0 diff --git a/tools/ci/jobs/gcc6_tests.sh b/tools/ci/jobs/gcc6_tests.sh new file mode 100755 index 000000000..eda284a8e --- /dev/null +++ b/tools/ci/jobs/gcc6_tests.sh @@ -0,0 +1,330 @@ +#!/bin/bash + +export CC=gcc-6 +export CXX=g++-6 +export LOGFILE=gcc6.log + +source ./tools/ci/scripts/init.sh + +aptget_install gcc-6 g++-6 \ + make autoconf automake autopoint gettext libphysfs-dev \ + libxml2-dev libcurl4-gnutls-dev libpng-dev \ + libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev + +export CXXFLAGS="-pedantic -ggdb3 -O2 -pipe -Wstrict-aliasing=2 \ +-Wstrict-overflow=1 -Wformat=1 -D_FORTIFY_SOURCE=2 \ +-std=gnu++1z -Wformat=1" + +#export CXXFLAGS="${CXXFLAGS} --all-warnings" +#export CXXFLAGS="${CXXFLAGS} --extra-warnings" +export CXXFLAGS="${CXXFLAGS} -W" +export CXXFLAGS="${CXXFLAGS} -Wabi" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wabi-tag" +#export CXXFLAGS="${CXXFLAGS} -Wabi=" +export CXXFLAGS="${CXXFLAGS} -Waddress" +# +++ ignoring. may be can be fixed? +#export CXXFLAGS="${CXXFLAGS} -Waggregate-return" +export CXXFLAGS="${CXXFLAGS} -Waggressive-loop-optimizations" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Waliasing" +#export CXXFLAGS="${CXXFLAGS} -Walign-commons" +export CXXFLAGS="${CXXFLAGS} -Wall" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wampersand" +export CXXFLAGS="${CXXFLAGS} -Warray-bounds" +# +++ need try it +export CXXFLAGS="${CXXFLAGS} -Warray-bounds=2" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Warray-temporaries" +#export CXXFLAGS="${CXXFLAGS} -Wassign-intercept" +export CXXFLAGS="${CXXFLAGS} -Wattributes" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wbad-function-cast" +export CXXFLAGS="${CXXFLAGS} -Wbool-compare" +export CXXFLAGS="${CXXFLAGS} -Wbuiltin-macro-redefined" +#export CXXFLAGS="${CXXFLAGS} -Wc++-compat" +#export CXXFLAGS="${CXXFLAGS} -Wc++0x-compat" +#export CXXFLAGS="${CXXFLAGS} -Wc++11-compat" +export CXXFLAGS="${CXXFLAGS} -Wc++14-compat" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wc-binding-type" +#export CXXFLAGS="${CXXFLAGS} -Wc90-c99-compat" +#export CXXFLAGS="${CXXFLAGS} -Wc99-c11-compat" +export CXXFLAGS="${CXXFLAGS} -Wcast-align" +export CXXFLAGS="${CXXFLAGS} -Wcast-qual" +export CXXFLAGS="${CXXFLAGS} -Wchar-subscripts" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wcharacter-truncation" +export CXXFLAGS="${CXXFLAGS} -Wchkp" +export CXXFLAGS="${CXXFLAGS} -Wclobbered" +export CXXFLAGS="${CXXFLAGS} -Wcomment" +export CXXFLAGS="${CXXFLAGS} -Wcomments" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wcompare-reals" +export CXXFLAGS="${CXXFLAGS} -Wconditionally-supported" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wconversion" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wconversion-extra" +export CXXFLAGS="${CXXFLAGS} -Wconversion-null" +export CXXFLAGS="${CXXFLAGS} -Wcoverage-mismatch" +export CXXFLAGS="${CXXFLAGS} -Wcpp" +export CXXFLAGS="${CXXFLAGS} -Wctor-dtor-privacy" +export CXXFLAGS="${CXXFLAGS} -Wdate-time" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wdeclaration-after-statement" +export CXXFLAGS="${CXXFLAGS} -Wdelete-incomplete" +export CXXFLAGS="${CXXFLAGS} -Wdelete-non-virtual-dtor" +export CXXFLAGS="${CXXFLAGS} -Wdeprecated" +export CXXFLAGS="${CXXFLAGS} -Wdeprecated-declarations" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wdesignated-init" +export CXXFLAGS="${CXXFLAGS} -Wdisabled-optimization" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wdiscarded-array-qualifiers" +#export CXXFLAGS="${CXXFLAGS} -Wdiscarded-qualifiers" +export CXXFLAGS="${CXXFLAGS} -Wdiv-by-zero" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wdouble-promotion" +export CXXFLAGS="${CXXFLAGS} -Wduplicated-cond" +# +++ too many warnings. may be used some times +#export CXXFLAGS="${CXXFLAGS} -Weffc++" +export CXXFLAGS="${CXXFLAGS} -Wempty-body" +export CXXFLAGS="${CXXFLAGS} -Wendif-labels" +export CXXFLAGS="${CXXFLAGS} -Wenum-compare" +export CXXFLAGS="${CXXFLAGS} -Werror-implicit-function-declaration" +export CXXFLAGS="${CXXFLAGS} -Wextra" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wfloat-conversion" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wfloat-equal" +export CXXFLAGS="${CXXFLAGS} -Wformat" +export CXXFLAGS="${CXXFLAGS} -Wformat-contains-nul" +export CXXFLAGS="${CXXFLAGS} -Wformat-extra-args" +# +++ ignoring. probably need use some times +#export CXXFLAGS="${CXXFLAGS} -Wformat-nonliteral" +export CXXFLAGS="${CXXFLAGS} -Wformat-security" +export CXXFLAGS="${CXXFLAGS} -Wformat-signedness" +export CXXFLAGS="${CXXFLAGS} -Wformat-y2k" +export CXXFLAGS="${CXXFLAGS} -Wformat-zero-length" +#export CXXFLAGS="${CXXFLAGS} -Wformat=" +export CXXFLAGS="${CXXFLAGS} -Wframe-address" +#export CXXFLAGS="${CXXFLAGS} -Wframe-larger-than=<number>" +export CXXFLAGS="${CXXFLAGS} -Wfree-nonheap-object" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wfunction-elimination" +export CXXFLAGS="${CXXFLAGS} -Whsa" +export CXXFLAGS="${CXXFLAGS} -Wignored-qualifiers" +export CXXFLAGS="${CXXFLAGS} -Wignored-attributes" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wimplicit" +#export CXXFLAGS="${CXXFLAGS} -Wimplicit-function-declaration" +#export CXXFLAGS="${CXXFLAGS} -Wimplicit-int" +#export CXXFLAGS="${CXXFLAGS} -Wimplicit-interface" +#export CXXFLAGS="${CXXFLAGS} -Wimplicit-procedure" +#export CXXFLAGS="${CXXFLAGS} -Wincompatible-pointer-types" +export CXXFLAGS="${CXXFLAGS} -Winherited-variadic-ctor" +export CXXFLAGS="${CXXFLAGS} -Winit-self" +# ignoting +#export CXXFLAGS="${CXXFLAGS} -Winline" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wint-conversion" +export CXXFLAGS="${CXXFLAGS} -Wint-to-pointer-cast" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Winteger-division" +#export CXXFLAGS="${CXXFLAGS} -Wintrinsic-shadow" +#export CXXFLAGS="${CXXFLAGS} -Wintrinsics-std" +export CXXFLAGS="${CXXFLAGS} -Winvalid-memory-model" +export CXXFLAGS="${CXXFLAGS} -Winvalid-offsetof" +export CXXFLAGS="${CXXFLAGS} -Winvalid-pch" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wjump-misses-init" +#export CXXFLAGS="${CXXFLAGS} -Wlarger-than-" +#export CXXFLAGS="${CXXFLAGS} -Wlarger-than=" +#export CXXFLAGS="${CXXFLAGS} -Wline-truncation" +export CXXFLAGS="${CXXFLAGS} -Wliteral-suffix" +export CXXFLAGS="${CXXFLAGS} -Wlogical-not-parentheses" +export CXXFLAGS="${CXXFLAGS} -Wlogical-op" +export CXXFLAGS="${CXXFLAGS} -Wlong-long" +export CXXFLAGS="${CXXFLAGS} -Wlto-type-mismatch" +export CXXFLAGS="${CXXFLAGS} -Wmain" +export CXXFLAGS="${CXXFLAGS} -Wmaybe-uninitialized" +export CXXFLAGS="${CXXFLAGS} -Wmemset-transposed-args" +export CXXFLAGS="${CXXFLAGS} -Wmisleading-indentation" +export CXXFLAGS="${CXXFLAGS} -Wmissing-braces" +export CXXFLAGS="${CXXFLAGS} -Wmissing-declarations" +export CXXFLAGS="${CXXFLAGS} -Wmissing-field-initializers" +export CXXFLAGS="${CXXFLAGS} -Wmissing-format-attribute" +export CXXFLAGS="${CXXFLAGS} -Wmissing-include-dirs" +export CXXFLAGS="${CXXFLAGS} -Wmissing-noreturn" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wmissing-parameter-type" +#export CXXFLAGS="${CXXFLAGS} -Wmissing-prototypes" +export CXXFLAGS="${CXXFLAGS} -Wmultichar" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wmultiple-inheritance" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wnamespaces" +export CXXFLAGS="${CXXFLAGS} -Wnarrowing" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wnested-externs" +export CXXFLAGS="${CXXFLAGS} -Wnoexcept" +export CXXFLAGS="${CXXFLAGS} -Wnon-template-friend" +export CXXFLAGS="${CXXFLAGS} -Wnon-virtual-dtor" +export CXXFLAGS="${CXXFLAGS} -Wnonnull" +export CXXFLAGS="${CXXFLAGS} -Wnonnull-compare" +#export CXXFLAGS="${CXXFLAGS} -Wnormalized" +export CXXFLAGS="${CXXFLAGS} -Wnormalized=nfkc" +export CXXFLAGS="${CXXFLAGS} -Wnull-dereference" +export CXXFLAGS="${CXXFLAGS} -Wodr" +# probably need fix it +#export CXXFLAGS="${CXXFLAGS} -Wold-style-cast" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wold-style-declaration" +#export CXXFLAGS="${CXXFLAGS} -Wold-style-definition" +export CXXFLAGS="${CXXFLAGS} -Wopenmp-simd" +export CXXFLAGS="${CXXFLAGS} -Woverflow" +export CXXFLAGS="${CXXFLAGS} -Woverlength-strings" +export CXXFLAGS="${CXXFLAGS} -Woverloaded-virtual" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Woverride-init" +#export CXXFLAGS="${CXXFLAGS} -Woverride-init-side-effects" +export CXXFLAGS="${CXXFLAGS} -Wpacked" +export CXXFLAGS="${CXXFLAGS} -Wpacked-bitfield-compat" +# +++ may be need fix in future? +#export CXXFLAGS="${CXXFLAGS} -Wpadded" +export CXXFLAGS="${CXXFLAGS} -Wparentheses" +export CXXFLAGS="${CXXFLAGS} -Wpedantic" +export CXXFLAGS="${CXXFLAGS} -Wplacement-new" +#export CXXFLAGS="${CXXFLAGS} -Wplacement-new=" +export CXXFLAGS="${CXXFLAGS} -Wpmf-conversions" +export CXXFLAGS="${CXXFLAGS} -Wpointer-arith" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wpointer-sign" +#export CXXFLAGS="${CXXFLAGS} -Wpointer-to-int-cast" +export CXXFLAGS="${CXXFLAGS} -Wpragmas" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wproperty-assign-default" +#export CXXFLAGS="${CXXFLAGS} -Wprotocol" +#export CXXFLAGS="${CXXFLAGS} -Wreal-q-constant" +#export CXXFLAGS="${CXXFLAGS} -Wrealloc-lhs" +#export CXXFLAGS="${CXXFLAGS} -Wrealloc-lhs-all" +export CXXFLAGS="${CXXFLAGS} -Wredundant-decls" +export CXXFLAGS="${CXXFLAGS} -Wreorder" +export CXXFLAGS="${CXXFLAGS} -Wreturn-local-addr" +export CXXFLAGS="${CXXFLAGS} -Wreturn-type" +export CXXFLAGS="${CXXFLAGS} -Wscalar-storage-order" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wselector" +export CXXFLAGS="${CXXFLAGS} -Wsequence-point" +export CXXFLAGS="${CXXFLAGS} -Wshadow" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wshadow-ivar" +export CXXFLAGS="${CXXFLAGS} -Wshift-count-negative" +export CXXFLAGS="${CXXFLAGS} -Wshift-count-overflow" +export CXXFLAGS="${CXXFLAGS} -Wshift-negative-value" +export CXXFLAGS="${CXXFLAGS} -Wshift-overflow" +#export CXXFLAGS="${CXXFLAGS} -Wshift-overflow=" +export CXXFLAGS="${CXXFLAGS} -Wsign-compare" +# +++ need fix in future +#export CXXFLAGS="${CXXFLAGS} -Wsign-conversion" +export CXXFLAGS="${CXXFLAGS} -Wsign-promo" +export CXXFLAGS="${CXXFLAGS} -Wsized-deallocation" +export CXXFLAGS="${CXXFLAGS} -Wsizeof-array-argument" +export CXXFLAGS="${CXXFLAGS} -Wsizeof-pointer-memaccess" +export CXXFLAGS="${CXXFLAGS} -Wstack-protector" +#export CXXFLAGS="${CXXFLAGS} -Wstack-usage=" +export CXXFLAGS="${CXXFLAGS} -Wstrict-aliasing" +#export CXXFLAGS="${CXXFLAGS} -Wstrict-aliasing=" +export CXXFLAGS="${CXXFLAGS} -Wstrict-null-sentinel" +# used before +#export CXXFLAGS="${CXXFLAGS} -Wstrict-overflow" +#export CXXFLAGS="${CXXFLAGS} -Wstrict-overflow=" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wstrict-prototypes" +#export CXXFLAGS="${CXXFLAGS} -Wstrict-selector-match" +export CXXFLAGS="${CXXFLAGS} -Wsubobject-linkage" +# +++ ignoring +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-attribute=const" +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-attribute=format" +export CXXFLAGS="${CXXFLAGS} -Wsuggest-attribute=noreturn" +# +++ ignoring +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-attribute=pure" +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-final-methods" +#export CXXFLAGS="${CXXFLAGS} -Wsuggest-final-types" +export CXXFLAGS="${CXXFLAGS} -Wsuggest-override" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wsurprising" +export CXXFLAGS="${CXXFLAGS} -Wswitch" +export CXXFLAGS="${CXXFLAGS} -Wswitch-bool" +export CXXFLAGS="${CXXFLAGS} -Wswitch-default" +export CXXFLAGS="${CXXFLAGS} -Wswitch-enum" +export CXXFLAGS="${CXXFLAGS} -Wsync-nand" +export CXXFLAGS="${CXXFLAGS} -Wsynth" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wsystem-headers" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wtabs" +#export CXXFLAGS="${CXXFLAGS} -Wtarget-lifetime" +export CXXFLAGS="${CXXFLAGS} -Wtautological-compare" +# ignoring +#export CXXFLAGS="${CXXFLAGS} -Wtemplates" +export CXXFLAGS="${CXXFLAGS} -Wterminate" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wtraditional" +#export CXXFLAGS="${CXXFLAGS} -Wtraditional-conversion" +export CXXFLAGS="${CXXFLAGS} -Wtrampolines" +export CXXFLAGS="${CXXFLAGS} -Wtrigraphs" +export CXXFLAGS="${CXXFLAGS} -Wtype-limits" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wundeclared-selector" +export CXXFLAGS="${CXXFLAGS} -Wundef" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wunderflow" +export CXXFLAGS="${CXXFLAGS} -Wuninitialized" +export CXXFLAGS="${CXXFLAGS} -Wunknown-pragmas" +# +++ may be try use in future? +#export CXXFLAGS="${CXXFLAGS} -Wunsafe-loop-optimizations" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wunsuffixed-float-constants" +export CXXFLAGS="${CXXFLAGS} -Wunused" +export CXXFLAGS="${CXXFLAGS} -Wunused-but-set-parameter" +export CXXFLAGS="${CXXFLAGS} -Wunused-but-set-variable" +export CXXFLAGS="${CXXFLAGS} -Wunreachable-code" +export CXXFLAGS="${CXXFLAGS} -Wunused-const-variable=1" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wunused-dummy-argument" +export CXXFLAGS="${CXXFLAGS} -Wunused-function" +export CXXFLAGS="${CXXFLAGS} -Wunused-label" +export CXXFLAGS="${CXXFLAGS} -Wunused-local-typedefs" +export CXXFLAGS="${CXXFLAGS} -Wunused-macros" +export CXXFLAGS="${CXXFLAGS} -Wunused-parameter" +export CXXFLAGS="${CXXFLAGS} -Wunused-result" +export CXXFLAGS="${CXXFLAGS} -Wunused-value" +export CXXFLAGS="${CXXFLAGS} -Wunused-variable" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wuse-without-only" +# +++ need from time to time +#export CXXFLAGS="${CXXFLAGS} -Wuseless-cast" +export CXXFLAGS="${CXXFLAGS} -Wvarargs" +export CXXFLAGS="${CXXFLAGS} -Wvariadic-macros" +export CXXFLAGS="${CXXFLAGS} -Wvector-operation-performance" +export CXXFLAGS="${CXXFLAGS} -Wvirtual-inheritance" +export CXXFLAGS="${CXXFLAGS} -Wvirtual-move-assign" +export CXXFLAGS="${CXXFLAGS} -Wvla" +export CXXFLAGS="${CXXFLAGS} -Wvolatile-register-var" +export CXXFLAGS="${CXXFLAGS} -Wwrite-strings" +export CXXFLAGS="${CXXFLAGS} -Wzero-as-null-pointer-constant" +# not for C++ +#export CXXFLAGS="${CXXFLAGS} -Wzerotrip" +#export CXXFLAGS="${CXXFLAGS} -frequire-return-statement" + +do_init +run_configure --enable-unittests=yes +export SDL_VIDEODRIVER=dummy +run_make check + +source ./tools/ci/scripts/exit.sh + +exit 0 |