commit febbc236d4a813bf086c5cc3dcd0fa93c7f3eab1
parent 055f5d4d1b2c8ea5a85691f7110e82a9c468b6dd
Author: teor <teor@torproject.org>
Date: Tue, 3 Dec 2019 12:46:43 +1000
Merge branch 'maint-0.3.5' into maint-0.4.0
Diffstat:
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/.travis.yml b/.travis.yml
@@ -39,12 +39,16 @@ 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 check NSS
- ## NSS is a fast job, clang is slower on Linux, so we do NSS clang
- - env: NSS_OPTIONS="--enable-nss"
- compiler: clang
+ ## Use -std=gnu99 to turn off some newer features, and maybe turn on some
+ ## extra gcc warnings?
+ - env: NSS_OPTIONS="--enable-nss" C_DIALECT_OPTIONS="-std=gnu99"
## We run chutney on Linux, because it's faster than chutney on macOS
+ ## Chutney is a fast job, clang is slower on Linux, so we do Chutney clang
- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
+ compiler: clang
## (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.
@@ -205,8 +209,8 @@ script:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export TOR_SKIP_TEST_REBIND=true; fi
- ./autogen.sh
- CONFIGURE_FLAGS="$ASCIIDOC_OPTIONS $COVERAGE_OPTIONS $HARDENING_OPTIONS $MODULES_OPTIONS $NSS_OPTIONS $OPENSSL_OPTIONS $RUST_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
@@ -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.