summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-10-18 08:33:52 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-10-18 08:33:52 +0000
commit907ef2392508270ecdb2d9b514de9770ffe1de9a (patch)
tree3737a06c8c50f5340e1b22c07a58972d0f433c58 /.travis.yml
parentf80c80f004b62dd29ec808d5674874a2ada900a9 (diff)
.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.yml42
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"