summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml31
-rwxr-xr-xtools/ci/jobs/gcc49_sanitize_tests.sh55
2 files changed, 86 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a9f4c21b7..0ba283bdc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -604,6 +604,37 @@ gcc-5_sanitize_no_opengltests_i386:
tags:
- docker
+gcc-4.9_sanitize_tests:
+ stage: build
+ script:
+ - ./tools/ci/jobs/gcc49_sanitize_tests.sh
+ - ldd ./src/manaplustests | grep "libasan"
+ image: debian:jessie
+ <<: *job-push
+ variables:
+ PACKAGES: gcc-4.9 g++-4.9
+ make autoconf automake autopoint gettext
+ 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
+ valgrind
+ tags:
+ - docker
+
+gcc-4.9_sanitize_tests_i386:
+ stage: build
+ script:
+ - ./tools/ci/jobs/gcc49_sanitize_tests.sh
+ - ldd ./src/manaplustests | grep "libasan"
+ image: vicamo/debian:jessie-i386
+ <<: *job-push
+ variables:
+ PACKAGES: gcc-4.9 g++-4.9
+ make autoconf automake autopoint gettext
+ 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
+ valgrind
+ tags:
+ - docker
gcc-5_sanitize:
stage: build
diff --git a/tools/ci/jobs/gcc49_sanitize_tests.sh b/tools/ci/jobs/gcc49_sanitize_tests.sh
new file mode 100755
index 000000000..329df4509
--- /dev/null
+++ b/tools/ci/jobs/gcc49_sanitize_tests.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+export CC=gcc-4.9
+export CXX=g++-4.9
+
+if [ "$NEWCC" != "" ]; then
+ export CC="$NEWCC"
+fi
+if [ "$NEWCXX" != "" ]; then
+ export CXX="$NEWCXX"
+fi
+
+export LOGFILE=gcc49_tests.log
+
+source ./tools/ci/scripts/init.sh
+
+export CXXFLAGS="$CXXFLAGS -ggdb3 -O2 -ffast-math \
+-fsanitize=address \
+-fno-omit-frame-pointer -funswitch-loops \
+-Wvariadic-macros -Wvla -Wredundant-decls \
+-Wpacked-bitfield-compat -Wtrampolines \
+-Wsuggest-attribute=noreturn -Wunused -Wstrict-aliasing=2 \
+-fstrict-aliasing -Wunreachable-code -Wabi \
+-Wvolatile-register-var -Winvalid-pch -Wredundant-decls \
+-Wnormalized=nfkc -Wmissing-format-attribute -Wmissing-noreturn \
+-Wswitch-default -Wsign-promo -Waddress -Wmissing-declarations \
+-Wctor-dtor-privacy -Wstrict-null-sentinel -Wlogical-op \
+-Wcast-align -Wpointer-arith -Wundef \
+-Wmissing-include-dirs -Winit-self -pedantic -Wall \
+-Wextra -fstrict-overflow -Wstrict-overflow=1 -Wunknown-pragmas \
+-Wwrite-strings -Wstack-protector -Wshadow -Wunused-macros -Wsynth \
+-Wbuiltin-macro-redefined -Wctor-dtor-privacy -Wdeprecated \
+-Wendif-labels -Wformat=1 -Wimport -Wnon-virtual-dtor -Wpsabi \
+-Wsign-promo -Wwrite-strings -D_FORTIFY_SOURCE=2 -Wc++11-compat -std=c++0x \
+-Wdelete-non-virtual-dtor -Wmaybe-uninitialized -Wunused-local-typedefs \
+-Wvector-operation-performance -Wfree-nonheap-object -Winvalid-memory-model \
+-Wnarrowing -Wzero-as-null-pointer-constant -funsafe-loop-optimizations \
+-Wabi-tag -Waggressive-loop-optimizations -Wclobbered -Wempty-body \
+-Wignored-qualifiers -Wliteral-suffix -Wmissing-field-initializers \
+-Woverlength-strings -Wpedantic -Wsign-compare -Wsizeof-pointer-memaccess \
+-Wsuggest-attribute=format -Wtype-limits -Wuninitialized \
+-Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-function \
+-Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -ftrapv \
+-fsched-pressure \
+-Wconditionally-supported -Wdate-time -Woverloaded-virtual \
+-fno-var-tracking $POST_CXXFLAGS"
+
+do_init
+run_configure --enable-unittests=yes $*
+export SDL_VIDEODRIVER=dummy
+run_make_check
+
+source ./tools/ci/scripts/exit.sh
+
+exit 0