1
1
language : cpp
2
2
3
+ cache : ccache
4
+
3
5
matrix :
4
6
include :
5
-
6
7
# Alpine Linux with musl-libc using g++
7
8
- os : linux
8
9
sudo : required
9
10
compiler : gcc
10
- cache : ccache
11
11
services :
12
12
- docker
13
13
before_install :
14
14
- docker pull diffblue/cbmc-builder:alpine-0.0.1
15
+ - env > .env
16
+ install :
17
+ - docker run --env-file .env -v ${TRAVIS_BUILD_DIR}:/cbmc -v ${HOME}/.ccache:/root/.ccache diffblue/cbmc-builder:alpine-0.0.1 sh -c "./travis_install.sh"
18
+ script :
19
+ - docker run --env-file .env -v ${TRAVIS_BUILD_DIR}:/cbmc -v ${HOME}/.ccache:/root/.ccache diffblue/cbmc-builder:alpine-0.0.1 sh -c "./travis_script.sh"
15
20
env :
16
- - PRE_COMMAND="docker run -v ${TRAVIS_BUILD_DIR}:/cbmc -v ${HOME}/.ccache:/root/.ccache diffblue/cbmc-builder:alpine-0.0.1"
17
21
- COMPILER="ccache g++"
18
22
19
23
# OS X using g++
20
24
- os : osx
21
25
sudo : false
22
26
compiler : gcc
23
- cache : ccache
24
27
before_install :
25
28
# we create symlink to non-ccache gcc, to be used in tests
26
29
- mkdir bin ; ln -s /usr/bin/gcc bin/gcc
27
30
- HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache
28
31
- export PATH=/usr/local/opt/ccache/libexec:$PATH
29
32
- ccache -M 1G
30
- env : COMPILER=g++
33
+ env :
34
+ - COMPILER="g++"
35
+ - SAN_FLAGS="-fsanitize=address -fno-omit-frame-pointer"
36
+ - LINKFLAGS="${SAN_FLAGS}"
31
37
32
38
# OS X using clang++
33
39
- os : osx
34
40
sudo : false
35
41
compiler : clang
36
- cache : ccache
37
42
before_install :
38
43
- HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache
39
44
- export PATH=/usr/local/opt/ccache/libexec:$PATH
40
45
- ccache -M 1G
41
46
env :
42
47
- COMPILER="ccache clang++ -Qunused-arguments -fcolor-diagnostics"
43
- - CCACHE_CPP2=yes
48
+ - CCACHE_CPP2="yes"
49
+ - SAN_FLAGS="-fsanitize=address -fno-omit-frame-pointer"
50
+ - LINKFLAGS="${SAN_FLAGS}"
44
51
45
52
# Ubuntu Linux with glibc using g++-5
46
53
- os : linux
47
54
sudo : false
48
55
compiler : gcc
49
- cache : ccache
50
56
addons :
51
57
apt :
52
58
sources :
@@ -55,16 +61,18 @@ matrix:
55
61
- libwww-perl
56
62
- g++-5
57
63
- libubsan0
64
+ - libasan0
58
65
before_install :
59
66
- mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
60
- # env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer"
61
- env : COMPILER="g++-5"
67
+ env :
68
+ - COMPILER="g++-5"
69
+ - SAN_FLAGS="-fsanitize=address,undefined -fno-omit-frame-pointer"
70
+ - LINKFLAGS="-fuse-ld=gold ${SAN_FLAGS}"
62
71
63
72
# Ubuntu Linux with glibc using g++-5, debug mode
64
73
- os : linux
65
74
sudo : false
66
75
compiler : gcc
67
- cache : ccache
68
76
addons :
69
77
apt :
70
78
sources :
@@ -73,61 +81,39 @@ matrix:
73
81
- libwww-perl
74
82
- g++-5
75
83
- libubsan0
84
+ - libasan0
76
85
before_install :
77
86
- mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
78
- # env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer"
79
87
env :
80
- - COMPILER="g++-5"
81
88
- EXTRA_CXXFLAGS="-DDEBUG"
82
- script : echo "Not running any tests for a debug build."
83
-
84
- # Ubuntu Linux with glibc using clang++-3.7
85
- - os : linux
86
- sudo : false
87
- compiler : clang
88
- cache : ccache
89
- addons :
90
- apt :
91
- sources :
92
- - ubuntu-toolchain-r-test
93
- - llvm-toolchain-precise-3.7
94
- packages :
95
- - libwww-perl
96
- - clang-3.7
97
- - libstdc++-5-dev
98
- - libubsan0
99
- before_install :
100
- - mkdir bin ; ln -s /usr/bin/clang-3.7 bin/gcc
101
- - export CCACHE_CPP2=yes
102
- # env: COMPILER=clang++-3.7 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer -fno-omit-frame-pointer"
103
- env :
104
- - COMPILER="ccache clang++-3.7 -Qunused-arguments -fcolor-diagnostics"
105
- - CCACHE_CPP2=yes
89
+ - COMPILER="g++-5"
90
+ - SAN_FLAGS="-fsanitize=address,undefined -fno-omit-frame-pointer"
91
+ - LINKFLAGS="-fuse-ld=gold ${SAN_FLAGS}"
92
+ script :
93
+ - echo "Not running any tests for a debug build."
106
94
107
- # Ubuntu Linux with glibc using clang++-3.7, debug mode
95
+ # Ubuntu Linux with glibc using clang++-3.8
108
96
- os : linux
109
97
sudo : false
110
98
compiler : clang
111
- cache : ccache
112
99
addons :
113
100
apt :
114
101
sources :
115
102
- ubuntu-toolchain-r-test
116
- - llvm-toolchain-precise-3.7
103
+ - llvm-toolchain-precise-3.8
117
104
packages :
118
105
- libwww-perl
119
- - clang-3.7
106
+ - clang-3.8
120
107
- libstdc++-5-dev
121
108
- libubsan0
109
+ - libasan0
122
110
before_install :
123
- - mkdir bin ; ln -s /usr/bin/clang-3.7 bin/gcc
124
- - export CCACHE_CPP2=yes
125
- # env: COMPILER=clang++-3.7 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer -fno-omit-frame-pointer"
111
+ - mkdir bin ; ln -s /usr/bin/clang-3.8 bin/gcc
126
112
env :
127
- - COMPILER="ccache clang++-3.7 -Qunused-arguments -fcolor-diagnostics"
128
- - CCACHE_CPP2=yes
129
- - EXTRA_CXXFLAGS ="-DDEBUG "
130
- script : echo "Not running any tests for a debug build. "
113
+ - COMPILER="ccache clang++-3.8 -Qunused-arguments -fcolor-diagnostics"
114
+ - CCACHE_CPP2=" yes"
115
+ - SAN_FLAGS ="-fsanitize=address,undefined -fno-omit-frame-pointer "
116
+ - LINKFLAGS="-fuse-ld=gold ${SAN_FLAGS} "
131
117
132
118
- env : NAME="CPP-LINT"
133
119
install :
@@ -141,20 +127,10 @@ matrix:
141
127
before_cache :
142
128
143
129
install :
144
- - COMMAND="make -C src minisat2-download" &&
145
- eval ${PRE_COMMAND} ${COMMAND}
146
- - COMMAND="make -C src CXX=\"$COMPILER\" CXXFLAGS=\"-Wall -Werror -pedantic -O2 -g $EXTRA_CXXFLAGS\" -j2" &&
147
- eval ${PRE_COMMAND} ${COMMAND}
148
- - COMMAND="make -C src CXX=\"$COMPILER\" CXXFLAGS=\"$FLAGS $EXTRA_CXXFLAGS\" -j2 clobber.dir memory-models.dir musketeer.dir" &&
149
- eval ${PRE_COMMAND} ${COMMAND}
130
+ - sh travis_install.sh
150
131
151
132
script :
152
- - if [ -e bin/gcc ] ; then export PATH=$PWD/bin:$PATH ; fi ;
153
- COMMAND="env UBSAN_OPTIONS=print_stacktrace=1 make -C regression test" &&
154
- eval ${PRE_COMMAND} ${COMMAND}
155
- - COMMAND="make -C unit CXX=\"$COMPILER\" CXXFLAGS=\"-Wall -Werror -pedantic -O2 -g $EXTRA_CXXFLAGS\" -j2" &&
156
- eval ${PRE_COMMAND} ${COMMAND}
157
- - COMMAND="make -C unit test" && eval ${PRE_COMMAND} ${COMMAND}
133
+ - sh travis_script.sh
158
134
159
135
before_cache :
160
136
- ccache -s
0 commit comments