From d718d21d6b15b8ed6cbb444fb7a1fe14a21196ea Mon Sep 17 00:00:00 2001 From: Minmin Gong Date: Sun, 29 Jan 2017 22:01:00 -0800 Subject: [PATCH 1/5] Fix compiling problems under ClangC2. --- include/boost/smart_ptr/detail/sp_counted_base.hpp | 2 +- include/boost/smart_ptr/detail/sp_has_sync.hpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/boost/smart_ptr/detail/sp_counted_base.hpp b/include/boost/smart_ptr/detail/sp_counted_base.hpp index 83ede23..4386137 100644 --- a/include/boost/smart_ptr/detail/sp_counted_base.hpp +++ b/include/boost/smart_ptr/detail/sp_counted_base.hpp @@ -20,7 +20,7 @@ #include #include -#if defined( __clang__ ) && defined( __has_extension ) +#if !defined( __c2__ ) && defined( __clang__ ) && defined( __has_extension ) # if __has_extension( __c_atomic__ ) # define BOOST_SP_HAS_CLANG_C11_ATOMICS # endif diff --git a/include/boost/smart_ptr/detail/sp_has_sync.hpp b/include/boost/smart_ptr/detail/sp_has_sync.hpp index 16de21d..0c4727c 100644 --- a/include/boost/smart_ptr/detail/sp_has_sync.hpp +++ b/include/boost/smart_ptr/detail/sp_has_sync.hpp @@ -22,7 +22,7 @@ #ifndef BOOST_SP_NO_SYNC -#if defined( __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 ) +#if !defined( __c2__ ) && defined( __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 ) # define BOOST_SP_HAS_SYNC @@ -30,7 +30,7 @@ # define BOOST_SP_HAS_SYNC -#elif defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) +#elif !defined( __c2__ ) && defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) #define BOOST_SP_HAS_SYNC From d4bc4c973335effe46f4953aae999208a5c54208 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 6 Feb 2017 16:51:33 +0200 Subject: [PATCH 2/5] Add platform matrix to .travis.yml --- .travis.yml | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 108 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index fb53d45..bdad74d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,112 @@ branches: - master - develop +env: + matrix: + - BOGUS_JOB=true + +addons: + apt: + packages: + - g++-4.7 + - g++-4.8 + - g++-4.9 + - g++-5 + - g++-6 + - clang-3.6 + - clang-3.7 + - clang-3.8 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise + - llvm-toolchain-precise-3.6 + - llvm-toolchain-precise-3.7 + - llvm-toolchain-precise-3.8 + +matrix: + + exclude: + - env: BOGUS_JOB=true + + include: + - os: linux + env: TOOLSET=gcc COMPILER=g++ CXXSTD=c++03 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++03 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++11 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++03 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++11 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++03 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++11 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++03 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++11 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++14 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++03 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++11 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++14 + + - os: linux + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++1z + + - os: linux + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03 + + - os: linux + env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++03 + + - os: linux + env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++11 + + - os: linux + env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++03 + + - os: linux + env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++11 + + - os: linux + env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++03 + + - os: linux + env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++11 + + - os: linux + env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++14 + + - os: linux + env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++1z + + - os: osx + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03 + + - os: osx + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11 + + - os: osx + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14 + install: - cd .. - git clone -b $TRAVIS_BRANCH https://github.com/boostorg/boost.git boost-root @@ -41,8 +147,8 @@ install: - ./b2 headers script: - - TOOLSET=gcc,clang - - if [ $TRAVIS_OS_NAME == osx ]; then TOOLSET=clang; fi + - |- + echo "using $TOOLSET : : $COMPILER : -std=$CXXSTD ;" > ~/user-config.jam - ./b2 libs/smart_ptr/test toolset=$TOOLSET notifications: From 94634cb853dec7d60ee78c6972d2eca27650c428 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Tue, 7 Feb 2017 01:50:59 +0200 Subject: [PATCH 3/5] Only install necessary packages in .travis.yml to speed it up --- .travis.yml | 155 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 137 insertions(+), 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index bdad74d..f6efd4d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,24 +19,6 @@ env: matrix: - BOGUS_JOB=true -addons: - apt: - packages: - - g++-4.7 - - g++-4.8 - - g++-4.9 - - g++-5 - - g++-6 - - clang-3.6 - - clang-3.7 - - clang-3.8 - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-precise - - llvm-toolchain-precise-3.6 - - llvm-toolchain-precise-3.7 - - llvm-toolchain-precise-3.8 - matrix: exclude: @@ -48,69 +30,206 @@ matrix: - os: linux env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++03 + addons: + apt: + packages: + - g++-4.7 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++11 + addons: + apt: + packages: + - g++-4.7 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++03 + addons: + apt: + packages: + - g++-4.8 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++11 + addons: + apt: + packages: + - g++-4.8 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++03 + addons: + apt: + packages: + - g++-4.9 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++11 + addons: + apt: + packages: + - g++-4.9 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++03 + addons: + apt: + packages: + - g++-5 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++11 + addons: + apt: + packages: + - g++-5 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++14 + addons: + apt: + packages: + - g++-5 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++03 + addons: + apt: + packages: + - g++-6 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++11 + addons: + apt: + packages: + - g++-6 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++14 + addons: + apt: + packages: + - g++-6 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++1z + addons: + apt: + packages: + - g++-6 + sources: + - ubuntu-toolchain-r-test - os: linux env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03 + - os: linux + env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11 + - os: linux env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++03 + addons: + apt: + packages: + - clang-3.6 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.6 - os: linux env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++11 + addons: + apt: + packages: + - clang-3.6 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.6 - os: linux env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++03 + addons: + apt: + packages: + - clang-3.7 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.7 - os: linux env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++11 + addons: + apt: + packages: + - clang-3.7 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.7 - os: linux env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++03 + addons: + apt: + packages: + - clang-3.8 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 - os: linux env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++11 + addons: + apt: + packages: + - clang-3.8 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 - os: linux env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++14 + addons: + apt: + packages: + - clang-3.8 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 - os: linux env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++1z + addons: + apt: + packages: + - clang-3.8 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 - os: osx env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03 From 5f8c2a7ee04e22788590b6f00063a12a30eea4e1 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 16 Feb 2017 15:34:51 +0200 Subject: [PATCH 4/5] Remove tools/inspect from .travis.yml --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f6efd4d..7b5505b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -259,7 +259,6 @@ install: - git submodule init libs/throw_exception - git submodule init libs/type_traits - git submodule init tools/build - - git submodule init tools/inspect - git submodule update - cp -r $TRAVIS_BUILD_DIR/* libs/smart_ptr - ./bootstrap.sh From b80ffbeb3dca5e9f3f30ce4d7563d06b763fa1b0 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 16 Feb 2017 15:35:53 +0200 Subject: [PATCH 5/5] Remove tools/inspect from appveyor.yml --- appveyor.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index d35c12d..9b4944a 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -30,7 +30,6 @@ install: - git submodule init libs/throw_exception - git submodule init libs/type_traits - git submodule init tools/build - - git submodule init tools/inspect - git submodule update - xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\smart_ptr - bootstrap