travis: Use Clang 4.0 instead of 3.9 due to va_start() warnings
authorTobias Brunner <tobias@strongswan.org>
Thu, 14 Sep 2017 13:33:59 +0000 (15:33 +0200)
committerTobias Brunner <tobias@strongswan.org>
Mon, 18 Sep 2017 10:16:51 +0000 (12:16 +0200)
This is a follow up on the issue documented in the previous commit.

To build with -Werror and Clang 3.9 we'd have to change all enum arguments
that are used as last argument before ... to e.g. u_int, which affects
quite a lot of places (crypto-factory, MODP_CUSTOM constructors, auth-cfg,
bus, vici-builder, vici-message).  Besides that it doesn't look as nice
it also seems a bit too much hassle just to cater to the whims of a
particular version of one compiler, so we just don't build with that
version on Travis and use 4.0 instead.

.travis.yml

index a17f242..35c9932 100644 (file)
@@ -10,6 +10,19 @@ compiler:
 before_install:
   - ./scripts/test.sh deps
   - ./scripts/test.sh pydeps
+  # use clang 4.0 instead of 3.9 due to unnecessary va_start() warnings
+  - echo $TRAVIS_OS_NAME
+  - echo $CC
+  - echo $(clang --version)
+  - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CC" == "clang" ]; then
+      if [[ "$(clang --version)" =~ 3\.9\.[0-9] ]]; then
+        curl http://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -;
+        echo "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main" | sudo tee -a /etc/apt/sources.list;
+        sudo apt-get update -qq;
+        sudo apt-get install -qq clang-4.0;
+        CC=clang-4.0;
+      fi;
+    fi
 
 before_script:
   - sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 || true