From c78a676e82eeb041e1491d297b140ba574762b22 Mon Sep 17 00:00:00 2001 From: "James E. King III" Date: Thu, 1 Nov 2018 14:27:59 -0400 Subject: [PATCH 1/8] Fix BOOST_NO_FENV_H on cygwin --- include/boost/config/platform/cygwin.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/boost/config/platform/cygwin.hpp b/include/boost/config/platform/cygwin.hpp index 6dd7e57c..d0052d8b 100644 --- a/include/boost/config/platform/cygwin.hpp +++ b/include/boost/config/platform/cygwin.hpp @@ -42,8 +42,11 @@ # define BOOST_HAS_STDINT_H #endif +#include +#if (CYGWIN_VERSION_API_MAJOR == 0 && CYGWIN_VERSION_API_MINOR < 231) /// Cygwin has no fenv.h #define BOOST_NO_FENV_H +#endif // Cygwin has it's own which breaks unless the correct compiler flags are used: #ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX From 1fae3dddab2ff2237f1f34b1bbd26a60c8987078 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Tue, 6 Nov 2018 19:20:46 +0000 Subject: [PATCH 2/8] Test adding travis badge. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d98d250c..770d25d5 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,8 @@ This library provides configuration support for the Boost C++ libraries. The full documentation is available on [boost.org](http://www.boost.org/doc/libs/release/libs/config/index.html). +[![Build Status](https://travis-ci.org/boostorg/config.png)](https://travis-ci.org/boostorg/config) + ## Support, bugs and feature requests ## Bugs and feature requests can be reported through the [Gitub issue tracker](https://github.com/boostorg/config/issues) From db9b7e36c37e2c3a575f6507114ef7a8faa1c345 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Tue, 6 Nov 2018 19:31:16 +0000 Subject: [PATCH 3/8] Better CI badges. [CI SKIP] --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 770d25d5..3cca3f6d 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,10 @@ This library provides configuration support for the Boost C++ libraries. The full documentation is available on [boost.org](http://www.boost.org/doc/libs/release/libs/config/index.html). -[![Build Status](https://travis-ci.org/boostorg/config.png)](https://travis-ci.org/boostorg/config) +| | Master | Develop | +|------------------|----------|-------------| +| Travis | [![Build Status](https://travis-ci.org/boostorg/config.svg?branch=master)](https://travis-ci.org/boostorg/config) | [![Build Status](https://travis-ci.org/boostorg/config.png)](https://travis-ci.org/boostorg/config) | +| Appveyor | [![Build status](https://ci.appveyor.com/api/projects/status/wo2n2mhoy8vegmuo/branch/master?svg=true)](https://ci.appveyor.com/project/jzmaddock/config/branch/master) | [![Build status](https://ci.appveyor.com/api/projects/status/wo2n2mhoy8vegmuo/branch/develop?svg=true)](https://ci.appveyor.com/project/jzmaddock/config/branch/develop) | ## Support, bugs and feature requests ## From 32ecea81e0ae8d4bab89f9dbe687ddd03905b472 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Wed, 7 Nov 2018 13:52:52 +0000 Subject: [PATCH 4/8] Add test case for issue #246 --- test/boost_no_constexpr.ipp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/test/boost_no_constexpr.ipp b/test/boost_no_constexpr.ipp index 35ac4891..1f3a96ee 100644 --- a/test/boost_no_constexpr.ipp +++ b/test/boost_no_constexpr.ipp @@ -32,13 +32,7 @@ private: template struct X { }; - -#if __cplusplus < 201400L -// Some C++14 compilers reject this (clang), some C++11 compilers reject "constexpr const" (GCC-4.6) -constexpr A a = 42; -#else constexpr const A a = 42; -#endif X xx; // OK: unique conversion to int @@ -68,9 +62,18 @@ struct F : virtual E }; constexpr F& f(F& out) { return out; } +namespace whatever{}; + +constexpr int factorial(int i) +{ + typedef int value_type; + using namespace whatever; + return i <= 1 ? 1 : i * factorial(value_type(i-1)); +} + int test() { - int i = square(5); + constexpr int i = square(5) + factorial(10); quiet_warning(i); switch (i) From d5217742dd841a5a0cbc3db518b1523aa9d91e32 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Wed, 7 Nov 2018 16:12:37 +0000 Subject: [PATCH 5/8] Fix indentation is .travis.yml. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b481255d..f63e6ed6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -251,7 +251,7 @@ matrix: env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z osx_image: xcode6.4 - - os: linux + - os: linux env: CMAKE_TEST_PROJECT=1 install: true script: From 969ff1a974b6fa506ec092c6028b5acfa64826b5 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Wed, 7 Nov 2018 18:04:56 +0000 Subject: [PATCH 6/8] Remove CMake test - it's apparent I don't understand this. --- .travis.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index f63e6ed6..9692e361 100644 --- a/.travis.yml +++ b/.travis.yml @@ -251,14 +251,6 @@ matrix: env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z osx_image: xcode6.4 - - os: linux - env: CMAKE_TEST_PROJECT=1 - install: true - script: - - mkdir __build__ && cd __build__ - - cmake ../test - - cmake --build . - install: - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true - cd .. From f48077f631f981ddfa1f4aea35e128decd1f57e5 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Wed, 7 Nov 2018 18:12:32 +0000 Subject: [PATCH 7/8] Make constexpr a gcc-4.7 feature not 4.6. --- include/boost/config/compiler/gcc.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/boost/config/compiler/gcc.hpp b/include/boost/config/compiler/gcc.hpp index 594c44f5..9ae6072e 100644 --- a/include/boost/config/compiler/gcc.hpp +++ b/include/boost/config/compiler/gcc.hpp @@ -232,7 +232,6 @@ // C++0x features in 4.6.n and later // #if (BOOST_GCC_VERSION < 40600) || !defined(BOOST_GCC_CXX11) -#define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_CXX11_DEFAULTED_MOVES #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR @@ -243,6 +242,9 @@ // C++0x features in 4.7.n and later // #if (BOOST_GCC_VERSION < 40700) || !defined(BOOST_GCC_CXX11) +// Note that while constexpr is partly supported in gcc-4.6 it's a +// pre-std version with several bugs: +# define BOOST_NO_CXX11_CONSTEXPR # define BOOST_NO_CXX11_FINAL # define BOOST_NO_CXX11_TEMPLATE_ALIASES # define BOOST_NO_CXX11_USER_DEFINED_LITERALS From 03b3941162b282da825ac8b6b638110d017a8a9e Mon Sep 17 00:00:00 2001 From: Marshall Clow Date: Wed, 12 Dec 2018 09:56:48 -0800 Subject: [PATCH 8/8] Bump version number to 1.70 --- include/boost/version.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/version.hpp b/include/boost/version.hpp index c9afbd98..98ce61a1 100644 --- a/include/boost/version.hpp +++ b/include/boost/version.hpp @@ -19,7 +19,7 @@ // BOOST_VERSION / 100 % 1000 is the minor version // BOOST_VERSION / 100000 is the major version -#define BOOST_VERSION 106900 +#define BOOST_VERSION 107000 // // BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION @@ -27,6 +27,6 @@ // number, y is the minor version number, and z is the patch level if not 0. // This is used by to select which library version to link to. -#define BOOST_LIB_VERSION "1_69" +#define BOOST_LIB_VERSION "1_70" #endif