diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-10-18 08:33:52 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-10-18 08:33:52 +0000 |
commit | 907ef2392508270ecdb2d9b514de9770ffe1de9a (patch) | |
tree | 3737a06c8c50f5340e1b22c07a58972d0f433c58 /.travis.yml | |
parent | f80c80f004b62dd29ec808d5674874a2ada900a9 (diff) | |
download | ruby-907ef2392508270ecdb2d9b514de9770ffe1de9a.tar.gz |
.travis.yml: add -pedantic build
Now that we have allow_failures, why not add configurations
that are prone to fail. The first thing I want to add is
$CC -ansi -pedantic, which spots lots of bugs on my local
machine.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml index 8a65edabc6..68d1ebde69 100644 --- a/.travis.yml +++ b/.travis.yml @@ -74,6 +74,44 @@ matrix: - git -C $brew_core_dir checkout -q 25590710e3f7af9cfa173c5cd3eb41a0532107b6 - HOMEBREW_NO_AUTO_UPDATE=1 brew upgrade openssl@1.1 - /usr/local/opt/openssl@1.1/bin/openssl version + - name: pedanticism + os: linux + compiler: "'clang -ansi -Werror=pedantic -pedantic-errors -std=iso9899:1990'" + env: + - "JOBS=" + # construct warnflags (using bashism...) + before_install: | + warnflags_array=( + -Wall + -Wextra + -Werror=declaration-after-statement + -Werror=deprecated-declarations + -Werror=division-by-zero + -Werror=extra-tokens + -Werror=implicit-function-declaration + -Werror=implicit-int + -Werror=long-long + -Werror=pointer-arith + -Werror=shorten-64-to-32 + -Werror=write-strings + -Wmissing-noreturn + -Wno-constant-logical-operand + -Wno-extended-offsetof + -Wno-missing-field-initializers + -Wno-overlength-strings + -Wno-parentheses-equality + -Wno-self-assign + -Wno-tautological-compare + -Wno-unused-local-typedef + -Wno-unused-parameter + -Wunused-variable + ) + CONFIG_FLAG=( + --disable-install-doc + optflags=-O0 + debugflags=-g0 + warnflags="${warnflags_array[*]}" + LDFLAGS=-Wno-unused-command-line-argument) - os: linux language: ruby rvm: 2.3 @@ -88,6 +126,8 @@ matrix: allow_failures: # It randomly hangs on travis osx. Let's remove this from allow_failures once it gets stable. - os: osx + - name: pedanticism + fast_finish: true before_script: - "echo JOBS=$JOBS" @@ -105,7 +145,7 @@ before_script: - "chmod -R a-w ." - "chmod u+w build config_1st config_2nd" - "cd build" - - "../configure -C --disable-install-doc --prefix=/tmp/ruby-prefix --with-gcc=$CC $CONFIG_FLAG" + - "../configure -C --disable-install-doc --prefix=/tmp/ruby-prefix --with-gcc=\"$CC\" \"${CONFIG_FLAG[@]}\"" - "cp -pr config.cache config.status .ext/include ../config_1st" - "make reconfig" - "cp -pr config.cache config.status .ext/include ../config_2nd" |