diff --git a/.travis.yml b/.travis.yml index eb1a81c..545c7a1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,14 +8,11 @@ sudo: false python: "2.7" -os: - - linux - - osx - branches: only: - master - develop + - /feature\/.*/ env: matrix: @@ -28,10 +25,12 @@ matrix: include: - os: linux - env: TOOLSET=gcc COMPILER=g++ CXXSTD=c++03 + compiler: g++ + env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11 - os: linux - env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++03 + compiler: g++-4.7 + env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 addons: apt: packages: @@ -40,34 +39,17 @@ matrix: - 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 + compiler: g++-4.8 + env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 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 + compiler: g++-4.9 + env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 addons: apt: packages: @@ -76,16 +58,8 @@ matrix: - 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 + compiler: g++-5 + env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z addons: apt: packages: @@ -94,25 +68,8 @@ matrix: - 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 + compiler: g++-6 + env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z addons: apt: packages: @@ -121,60 +78,35 @@ matrix: - ubuntu-toolchain-r-test - os: linux - env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++11 + dist: trusty + compiler: g++-7 + env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 addons: apt: packages: - - g++-6 + - g++-7 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 + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 - 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.5 CXXSTD=c++03 + compiler: clang++-3.5 + env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11,14,1z addons: apt: packages: - clang-3.5 + - libstdc++-4.9-dev sources: - ubuntu-toolchain-r-test - llvm-toolchain-precise-3.5 - os: linux - env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=c++11 - addons: - apt: - packages: - - clang-3.5 - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-precise-3.5 - - - os: linux - env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++03 + compiler: clang++-3.6 + env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z addons: apt: packages: @@ -184,17 +116,8 @@ matrix: - 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 + compiler: clang++-3.7 + env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z addons: apt: packages: @@ -204,110 +127,59 @@ matrix: - 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 + compiler: clang++-3.8 + env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z addons: apt: packages: - clang-3.8 + - libstdc++-4.9-dev 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: linux - env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++03 + compiler: clang++-3.9 + env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z addons: apt: packages: - clang-3.9 + - libstdc++-4.9-dev sources: - ubuntu-toolchain-r-test - llvm-toolchain-precise-3.9 - os: linux - env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++11 + compiler: clang++-4.0 + env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z addons: apt: packages: - - clang-3.9 + - clang-4.0 sources: - ubuntu-toolchain-r-test - - llvm-toolchain-precise-3.9 + - llvm-toolchain-trusty-4.0 - os: linux - env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++14 + compiler: clang++-5.0 + env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z addons: apt: packages: - - clang-3.9 + - clang-5.0 sources: - ubuntu-toolchain-r-test - - llvm-toolchain-precise-3.9 - - - os: linux - env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++1z - addons: - apt: - packages: - - clang-3.9 - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-precise-3.9 + - llvm-toolchain-trusty-5.0 - 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 - - - os: osx - env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z + compiler: clang++ + env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z install: + - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true - cd .. - - git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root + - git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root - cd boost-root - git submodule update --init tools/build - git submodule update --init libs/config @@ -319,8 +191,8 @@ install: script: - |- - echo "using $TOOLSET : : $COMPILER : -std=$CXXSTD ;" > ~/user-config.jam - - ./b2 libs/typeof/test toolset=$TOOLSET + echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam + - ./b2 libs/typeof/test toolset=$TOOLSET cxxstd=$CXXSTD notifications: email: diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..61f7844 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,62 @@ +# Copyright 2016 Peter Dimov +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) + +version: 1.0.{build}-{branch} + +shallow_clone: true + +branches: + only: + - master + - develop + +platform: + - x64 + +environment: + matrix: + - ARGS: --toolset=msvc-9.0 address-model=32 + - ARGS: --toolset=msvc-10.0 address-model=32 + - ARGS: --toolset=msvc-11.0 address-model=32 + - ARGS: --toolset=msvc-12.0 address-model=32 + - ARGS: --toolset=msvc-14.0 address-model=32 + - ARGS: --toolset=msvc-12.0 address-model=64 + - ARGS: --toolset=msvc-14.0 address-model=64 + - ARGS: --toolset=msvc-14.0 address-model=64 cxxflags=-std:c++latest + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ARGS: --toolset=msvc-14.1 address-model=64 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ARGS: --toolset=msvc-14.1 address-model=32 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ARGS: --toolset=msvc-14.1 address-model=64 cxxflags=-std:c++latest + - ARGS: --toolset=gcc address-model=64 + PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH% + - ARGS: --toolset=gcc address-model=64 cxxflags=-std=gnu++1z + PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH% + - ARGS: --toolset=gcc address-model=32 + PATH: C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin;%PATH% + - ARGS: --toolset=gcc address-model=32 linkflags=-Wl,-allow-multiple-definition + PATH: C:\MinGW\bin;%PATH% + + +install: + - cd .. + - git clone -b %APPVEYOR_REPO_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root + - cd boost-root + - git submodule update --init tools/build + - git submodule update --init libs/config + - git submodule update --init tools/boostdep + - xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\typeof\ + - python tools/boostdep/depinst/depinst.py typeof + - bootstrap + - b2 headers + +build: off + +test_script: + - cd libs\config\test + - ..\..\..\b2 config_info_travis_install %ARGS% + - config_info_travis + - cd ..\..\typeof\test + - ..\..\..\b2 -j3 %ARGS% define=CI_SUPPRESS_KNOWN_ISSUES diff --git a/include/boost/typeof/dmc/typeof_impl.hpp b/include/boost/typeof/dmc/typeof_impl.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/encode_decode.hpp b/include/boost/typeof/encode_decode.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/encode_decode_params.hpp b/include/boost/typeof/encode_decode_params.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/incr_registration_group.hpp b/include/boost/typeof/incr_registration_group.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/int_encoding.hpp b/include/boost/typeof/int_encoding.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/integral_template_param.hpp b/include/boost/typeof/integral_template_param.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/modifiers.hpp b/include/boost/typeof/modifiers.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/pointers_data_members.hpp b/include/boost/typeof/pointers_data_members.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/register_mem_functions.hpp b/include/boost/typeof/register_mem_functions.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/bitset.hpp b/include/boost/typeof/std/bitset.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/complex.hpp b/include/boost/typeof/std/complex.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/deque.hpp b/include/boost/typeof/std/deque.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/fstream.hpp b/include/boost/typeof/std/fstream.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/functional.hpp b/include/boost/typeof/std/functional.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/iostream.hpp b/include/boost/typeof/std/iostream.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/istream.hpp b/include/boost/typeof/std/istream.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/iterator.hpp b/include/boost/typeof/std/iterator.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/list.hpp b/include/boost/typeof/std/list.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/locale.hpp b/include/boost/typeof/std/locale.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/map.hpp b/include/boost/typeof/std/map.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/memory.hpp b/include/boost/typeof/std/memory.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/ostream.hpp b/include/boost/typeof/std/ostream.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/queue.hpp b/include/boost/typeof/std/queue.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/set.hpp b/include/boost/typeof/std/set.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/sstream.hpp b/include/boost/typeof/std/sstream.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/stack.hpp b/include/boost/typeof/std/stack.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/streambuf.hpp b/include/boost/typeof/std/streambuf.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/string.hpp b/include/boost/typeof/std/string.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/utility.hpp b/include/boost/typeof/std/utility.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/valarray.hpp b/include/boost/typeof/std/valarray.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/std/vector.hpp b/include/boost/typeof/std/vector.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/template_encoding.hpp b/include/boost/typeof/template_encoding.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/template_template_param.hpp b/include/boost/typeof/template_template_param.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/type_encoding.hpp b/include/boost/typeof/type_encoding.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/type_template_param.hpp b/include/boost/typeof/type_template_param.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/typeof_impl.hpp b/include/boost/typeof/typeof_impl.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/vector.hpp b/include/boost/typeof/vector.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/vector100.hpp b/include/boost/typeof/vector100.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/vector150.hpp b/include/boost/typeof/vector150.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/vector200.hpp b/include/boost/typeof/vector200.hpp old mode 100755 new mode 100644 diff --git a/include/boost/typeof/vector50.hpp b/include/boost/typeof/vector50.hpp old mode 100755 new mode 100644 diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 28d7beb..d0fc589 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -5,6 +5,7 @@ # Boost Typeof Library test Jamfile +import testing ; import set ; # The special requirement is not ported yet. diff --git a/test/data_member.cpp b/test/data_member.cpp old mode 100755 new mode 100644 diff --git a/test/member_function.cpp b/test/member_function.cpp old mode 100755 new mode 100644 diff --git a/test/modifiers.cpp b/test/modifiers.cpp old mode 100755 new mode 100644 diff --git a/test/noncopyable.cpp b/test/noncopyable.cpp old mode 100755 new mode 100644 diff --git a/test/odr.hpp b/test/odr.hpp old mode 100755 new mode 100644 diff --git a/test/odr1.cpp b/test/odr1.cpp old mode 100755 new mode 100644 diff --git a/test/odr2.cpp b/test/odr2.cpp old mode 100755 new mode 100644 diff --git a/test/odr_no_uns1.cpp b/test/odr_no_uns1.cpp old mode 100755 new mode 100644 diff --git a/test/odr_no_uns1.hpp b/test/odr_no_uns1.hpp old mode 100755 new mode 100644 diff --git a/test/odr_no_uns2.cpp b/test/odr_no_uns2.cpp old mode 100755 new mode 100644 diff --git a/test/odr_no_uns2.hpp b/test/odr_no_uns2.hpp old mode 100755 new mode 100644 diff --git a/test/std.cpp b/test/std.cpp old mode 100755 new mode 100644 diff --git a/test/template_dependent.cpp b/test/template_dependent.cpp old mode 100755 new mode 100644 diff --git a/test/template_enum.cpp b/test/template_enum.cpp old mode 100755 new mode 100644 diff --git a/test/template_int.cpp b/test/template_int.cpp old mode 100755 new mode 100644 diff --git a/test/template_multiword.cpp b/test/template_multiword.cpp old mode 100755 new mode 100644 diff --git a/test/template_tpl.cpp b/test/template_tpl.cpp old mode 100755 new mode 100644 diff --git a/test/template_type.cpp b/test/template_type.cpp old mode 100755 new mode 100644 diff --git a/test/test.hpp b/test/test.hpp old mode 100755 new mode 100644 diff --git a/test/type.cpp b/test/type.cpp old mode 100755 new mode 100644