aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2019-11-15 10:17:32 +1000
committerteor <teor@torproject.org>2019-12-03 12:42:39 +1000
commit792c15fde24a7ae35085d086b66da4f3d867ea4e (patch)
tree985c88a5b088aa28e689fe50c3928ee5c81246aa
parent853b6ad0950e8014784109879fa058fb0cb90dc8 (diff)
downloadtor-792c15fde24a7ae35085d086b66da4f3d867ea4e.tar.gz
tor-792c15fde24a7ae35085d086b66da4f3d867ea4e.zip
Travis: use -std=gnu99 in some jobs
Require C99 standards-conforming code in Travis CI, but allow GNU gcc extensions. Also activates clang's -Wtypedef-redefinition warnings. Builds some jobs with -std=gnu99, and some jobs without. Closes ticket 32500.
-rw-r--r--.travis.yml10
-rw-r--r--changes/ticket325005
2 files changed, 12 insertions, 3 deletions
diff --git a/.travis.yml b/.travis.yml
index 4ea9400b88..51368ea512 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -32,8 +32,12 @@ matrix:
## We run basic tests on macOS
- compiler: clang
os: osx
+ ## Turn off some newer features, turn on clang's -Wtypedef-redefinition
+ env: C_DIALECT_OPTIONS="-std=gnu99"
## We run chutney on Linux, because it's faster than chutney on macOS
- - env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
+ ## Use -std=gnu99 to turn off some newer features, and maybe turn on some
+ ## extra gcc warnings?
+ - env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes" C_DIALECT_OPTIONS="-std=gnu99"
## (Linux only) Use an older Linux image (Ubuntu Trusty)
## The Xenial and Bionic images cause permissions issues for chutney,
## this is a workaround, until we fix #32240.
@@ -136,8 +140,8 @@ install:
script:
- ./autogen.sh
- CONFIGURE_FLAGS="$ASCIIDOC_OPTIONS $COVERAGE_OPTIONS $HARDENING_OPTIONS $OPENSSL_OPTIONS --enable-fatal-warnings --disable-silent-rules"
- - echo "Configure flags are $CONFIGURE_FLAGS"
- - ./configure $CONFIGURE_FLAGS
+ - echo "Configure flags are $CONFIGURE_FLAGS CC=\"$CC $C_DIALECT_OPTIONS\""
+ - ./configure $CONFIGURE_FLAGS CC="$CC $C_DIALECT_OPTIONS"
## We run `make check` because that's what https://jenkins.torproject.org does.
- if [[ "$SKIP_MAKE_CHECK" == "" ]]; then make check; fi
- if [[ "$DISTCHECK" != "" ]]; then make distcheck DISTCHECK_CONFIGURE_FLAGS="$CONFIGURE_FLAGS"; fi
diff --git a/changes/ticket32500 b/changes/ticket32500
new file mode 100644
index 0000000000..2c0f35df72
--- /dev/null
+++ b/changes/ticket32500
@@ -0,0 +1,5 @@
+ o Testing:
+ - Require C99 standards-conforming code in Travis CI, but allow GNU gcc
+ extensions. Also activates clang's -Wtypedef-redefinition warnings.
+ Build some jobs with -std=gnu99, and some jobs without.
+ Closes ticket 32500.