Commit 6d092b85a5348abfd016a29d012031f421eddbd5

Daniel Mendler 2019-04-19T19:01:38

travis: test various compiler options

diff --git a/.travis.yml b/.travis.yml
index 047939d..5fb6ded 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -31,15 +31,15 @@ branches:
   only:
     - master
     - develop
-    - /^release\/.*$/
+    - /^release/
+    - /^travis/
 
-# Additional installs are Valgrind for the memory-tests
-# and gcc-multilib for the compilation of the different
-# architectures.
+# Additional installs: Valgrind for memory tests.
 install:
   - sudo apt-get update -qq
   - sudo apt-get install valgrind
-  - sudo apt-get install gcc-multilib
+  - apt-cache search gcc | grep '^gcc-[0-9\.]* '
+  - apt-cache search clang | grep compiler
 
 # The language is C and it will load the respective dependencies
 language: c
@@ -66,60 +66,90 @@ matrix:
         apt:
           packages:
             - astyle
-      sudo: required
 
     # GCC for the 32-bit architecture (no valgrind yet)
-    - env: BUILDOPTIONS='--with-cc=gcc --with-m32'
+    - env: BUILDOPTIONS='--with-cc=gcc-5 --with-m32'
       addons:
         apt:
           packages:
             - libc6-dev-i386
-      sudo: required
+            - gcc-multilib
 
     # clang for the 32-bit architecture (no valgrind yet)
-    - env: BUILDOPTIONS='--with-cc=clang --with-m32'
+    - env: BUILDOPTIONS='--with-cc=clang-7 --with-m32'
       addons:
         apt:
           packages:
             - libc6-dev-i386
-      sudo: required
+            - gcc-multilib
 
     # GCC for the x64_32 architecture (32-bit longs and 32-bit pointers)
     # TODO: Probably not possible to run anything in x32 in Travis
     #       but needs to be checked to be sure.
-    - env: BUILDOPTIONS='--with-cc=gcc --with-mx32'
+    - env: BUILDOPTIONS='--with-cc=gcc-5 --with-mx32'
       addons:
         apt:
           packages:
             - libc6-dev-x32
-      sudo: required
+            - gcc-multilib
 
     # GCC for the x86-64 architecture (64-bit longs and 64-bit pointers)
-    - env:  BUILDOPTIONS='--with-cc=gcc --with-m64 --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=gcc-5 --with-m64 --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=gcc-4.7 --with-m64 --with-valgrind'
+      addons:
+        apt:
+          packages:
+            - gcc-4.7
+    - env: BUILDOPTIONS='--with-cc=gcc-4.8 --with-m64 --with-valgrind'
+      addons:
+        apt:
+          packages:
+            - gcc-4.8
+    - env: BUILDOPTIONS='--with-cc=gcc-4.9 --with-m64 --with-valgrind'
+      addons:
+        apt:
+          packages:
+            - gcc-4.9
+
     # clang for x86-64 architecture (64-bit longs and 64-bit pointers)
-    - env:  BUILDOPTIONS='--with-cc=clang --with-m64 --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=clang-6.0 --with-m64 --with-valgrind'
+      addons:
+        apt:
+          packages:
+            - clang-6.0
+    - env: BUILDOPTIONS='--with-cc=clang-5.0 --with-m64 --with-valgrind'
+      addons:
+        apt:
+          packages:
+            - clang-5.0
+    - env: BUILDOPTIONS='--with-cc=clang-4.0 --with-m64 --with-valgrind'
+      addons:
+        apt:
+          packages:
+            - clang-4.0
 
     # GCC for the x86-64 architecture with restricted limb sizes
     # formerly started with the option "--with-low-mp" to testme.sh
     # but testing all three in one run took to long and timed out.
-    - env:  BUILDOPTIONS='--with-cc=gcc --cflags=-DMP_8BIT  --with-valgrind'
-    - env:  BUILDOPTIONS='--with-cc=gcc --cflags=-DMP_16BIT --with-valgrind'
-    - env:  BUILDOPTIONS='--with-cc=gcc --cflags=-DMP_32BIT --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_8BIT  --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_16BIT --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_32BIT --with-valgrind'
 
     # clang for the x86-64 architecture with restricted limb sizes
-    - env:  BUILDOPTIONS='--with-cc=clang --cflags=-DMP_8BIT  --with-valgrind'
-    - env:  BUILDOPTIONS='--with-cc=clang --cflags=-DMP_16BIT --with-valgrind'
-    - env:  BUILDOPTIONS='--with-cc=clang --cflags=-DMP_32BIT --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_8BIT  --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-valgrind'
 
     # GCC for the x86-64 architecture testing against a different Bigint-implementation
     # with 333333 different inputs.
-    - env:  BUILDOPTIONS='--with-cc=gcc --test-vs-mtest=333333 --with-valgrind'
-    - env:  BUILDOPTIONS='--with-cc=clang --test-vs-mtest=333333 --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --with-valgrind'
 
     # clang for the x86-64 architecture testing against a different Bigint-implementation
     # with a better random source.
-    - env:  BUILDOPTIONS='--with-cc=gcc --test-vs-mtest=333333 --mtest-real-rand --with-valgrind'
-    - env:  BUILDOPTIONS='--with-cc=clang --test-vs-mtest=333333 --mtest-real-rand --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --mtest-real-rand --with-valgrind'
+    - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --mtest-real-rand --with-valgrind'
 
 # Notifications go to
 # An email address is also possible.
@@ -132,5 +162,4 @@ notifications:
 # seem to be the max and 20 the default if travis_wait is called without
 # any options.
 script:
-  - ./testme.sh  ${BUILDOPTIONS}
-
+  - ./testme.sh ${BUILDOPTIONS}