[tor-commits] [tor/maint-0.4.2] Travis: use -std=gnu99 in some jobs

teor at torproject.org teor at torproject.org
Tue Dec 3 02:49:00 UTC 2019


commit 792c15fde24a7ae35085d086b66da4f3d867ea4e
Author: teor <teor at torproject.org>
Date:   Fri Nov 15 10:17:32 2019 +1000

    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.
---
 .travis.yml         | 10 +++++++---
 changes/ticket32500 |  5 +++++
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 4ea9400b8..51368ea51 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 000000000..2c0f35df7
--- /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.





More information about the tor-commits mailing list