Merge pull request #84 from LNIS-Projects/dev

Add compiler compatibility tests to Travis CI
This commit is contained in:
Laboratory for Nano Integrated Systems (LNIS) 2020-09-14 23:18:55 -06:00 committed by GitHub
commit bcbc583593
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 77 additions and 10 deletions

View File

@ -15,7 +15,7 @@ cache:
# Supported Operating systems
dist: bionic
compiler: g++-8
#compiler: g++-8
addons:
apt:
sources:
@ -33,8 +33,6 @@ addons:
- doxygen
- flex
- fontconfig
- g++-8
- gcc-8
- gdb
- git
- gperf
@ -56,6 +54,19 @@ addons:
- zip
- qt5-default
- clang-format-7
# Add all the supported compilers
- g++-5
- gcc-5
- g++-6
- gcc-6
- g++-7
- gcc-7
- g++-8
- gcc-8
- g++-9
- gcc-9
- clang-6.0
- clang-8
#- os: osx
# osx_image: xcode10.2 # we target latest MacOS Mojave
# sudo: true
@ -76,6 +87,10 @@ addons:
# - libxml++
# - qt5
# Use gcc-8 as default compiler
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
before_script:
- source .travis/common.sh
- source .travis/install.sh
@ -116,6 +131,55 @@ jobs:
- source .travis/build.sh
- source .travis/fpga_spice_reg_test.sh
- stage: Test
name: "Build Compatibility: GCC-5 (Ubuntu Bionic 18.04)"
env:
- MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
script:
- source .travis/build.sh
- stage: Test
name: "Build Compatibility: GCC-6 (Ubuntu Bionic 18.04)"
env:
- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
script:
- source .travis/build.sh
- stage: Test
name: "Build Compatibility: GCC-7 (Ubuntu Bionic 18.04)"
env:
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
script:
- source .travis/build.sh
- stage: Test
name: "Build Compatibility: GCC-8 (Ubuntu Bionic 18.04)"
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
script:
- source .travis/build.sh
- stage: Test
name: "Build Compatibility: GCC-9 (Ubuntu Bionic 18.04)"
env:
- MATRIX_EVAL="CC=gcc-9 && CXX=g++-9"
script:
- source .travis/build.sh
- stage: Test
name: "Build Compatibility: Clang-6 (Ubuntu Bionic 18.04)"
env:
- MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0"
script:
- source .travis/build.sh
- stage: Test
name: "Build Compatibility: Clang-8 (Ubuntu Bionic 18.04)"
env:
- MATRIX_EVAL="CC=clang-8 && CXX=clang++-8"
script:
- source .travis/build.sh
#after_failure:
# - .travis/after_failure.sh

View File

@ -39,8 +39,9 @@ if [[ $TRAVIS_OS_NAME == 'osx' ]]; then
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target / -allowUntrusted
else
# For linux, we use g++-8 and gcc-8 as default compilers
export CC=gcc-8
export CXX=g++-8
eval "${MATRIX_EVAL}"
export "CC=$CC"
export "CXX=$CXX"
fi

View File

@ -459,7 +459,7 @@ void read_xml_output_mask(pugi::xml_node& xml_port,
if (circuit_lib.port_size(port) != mask_vector.size()) {
archfpga_throw(loc_data.filename_c_str(), loc_data.line(xml_port),
"Invalid lut_output_mask attribute '%s'! It must match the port size (=%lu)\n",
output_mask_attr, circuit_lib.port_size(port));
output_mask_attr.c_str(), circuit_lib.port_size(port));
}
} else {
/* By default, we give a mask vector covering each pin of the port */

View File

@ -67,7 +67,7 @@ bool parse_command(const std::vector<std::string>& argv,
/* Validate that the command name matches argv[0] */
if (argv[0] != cmd.name()) {
VTR_LOG("Unexpected command name '%s'!\n",
argv[0]);
argv[0].c_str());
return false;
}

View File

@ -4,6 +4,7 @@
/********************************************************************
* Include header files that are required by function declaration
*******************************************************************/
#include <stddef.h>
#include <vector>
/********************************************************************

View File

@ -140,7 +140,7 @@ float string_to_unit(const std::string& scale) {
/* Invalid unit report error */
VTR_LOGF_ERROR(__FILE__, __LINE__,
"Invalid unit %s!\nAcceptable units are [a|f|p|n|u|k|M|B|T] or empty\n",
scale);
scale.c_str());
exit(1);
}
@ -153,13 +153,13 @@ float string_to_time_unit(const std::string& scale) {
&& (2 != scale.length()) ) {
VTR_LOGF_ERROR(__FILE__, __LINE__,
"Time unit (='%s') must contain only one or two characters!\n",
scale);
scale.c_str());
}
/* The last character must be 's' */
if ('s' != scale.back()) {
VTR_LOGF_ERROR(__FILE__, __LINE__,
"Time unit (='%s') must end with 's'!\n",
scale);
scale.c_str());
}
float unit = 1.;

View File

@ -4,6 +4,7 @@
/********************************************************************
* Include header files required by the data structure definition
*******************************************************************/
#include <stddef.h>
#include <vector>
/* Begin namespace openfpga */