Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Boost.Filesystem usage, add BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS #492

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion checks/Jamfile.v2
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Fri Oct 13 19:09:38 2023
# This file was automatically generated on Mon Jan 22 16:16:53 2024
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
Expand Down Expand Up @@ -119,6 +119,7 @@ obj cxx14_return_type_deduction : test_case.cpp : <define>TEST_BOOST_NO_CXX14_RE
obj cxx14_std_exchange : test_case.cpp : <define>TEST_BOOST_NO_CXX14_STD_EXCHANGE ;
obj cxx14_variable_templates : test_case.cpp : <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES ;
obj cxx17 : test_case.cpp : <define>TEST_BOOST_NO_CXX17 ;
obj cxx17_auto_nontype_template_params : test_case.cpp : <define>TEST_BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS ;
obj cxx17_deduction_guides : test_case.cpp : <define>TEST_BOOST_NO_CXX17_DEDUCTION_GUIDES ;
obj cxx17_fold_expressions : test_case.cpp : <define>TEST_BOOST_NO_CXX17_FOLD_EXPRESSIONS ;
obj cxx17_hdr_any : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_ANY ;
Expand Down
7 changes: 6 additions & 1 deletion checks/test_case.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
Expand Down Expand Up @@ -551,6 +551,11 @@
# error "Defect macro BOOST_NO_CXX17 is defined."
# endif
#endif
#ifdef TEST_BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
# ifdef BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
# error "Defect macro BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS is defined."
# endif
#endif
#ifdef TEST_BOOST_NO_CXX17_DEDUCTION_GUIDES
# ifdef BOOST_NO_CXX17_DEDUCTION_GUIDES
# error "Defect macro BOOST_NO_CXX17_DEDUCTION_GUIDES is defined."
Expand Down
1 change: 1 addition & 0 deletions doc/macro_reference.qbk
Original file line number Diff line number Diff line change
Expand Up @@ -1027,6 +1027,7 @@ that are not yet supported by a particular compiler or library.
[[`BOOST_NO_CXX17_IF_CONSTEXPR`][The compiler does not support `if constexpr`.]]
[[`BOOST_NO_CXX17_INLINE_VARIABLES`][The compiler does not support `inline` variables.]]
[[`BOOST_NO_CXX17_DEDUCTION_GUIDES`][The compiler does not support class template argument deduction (CTAD) guides.]]
[[`BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS`][The compiler does not support `auto` non-type template parameters.]]
]

[endsect]
Expand Down
2 changes: 1 addition & 1 deletion include/boost/config/assert_cxx03.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
Expand Down
2 changes: 1 addition & 1 deletion include/boost/config/assert_cxx11.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
Expand Down
2 changes: 1 addition & 1 deletion include/boost/config/assert_cxx14.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
Expand Down
5 changes: 4 additions & 1 deletion include/boost/config/assert_cxx17.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
Expand All @@ -12,6 +12,9 @@
#include <boost/config.hpp>
#include <boost/config/assert_cxx14.hpp>

#ifdef BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS."
#endif
#ifdef BOOST_NO_CXX17_DEDUCTION_GUIDES
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_DEDUCTION_GUIDES."
#endif
Expand Down
2 changes: 1 addition & 1 deletion include/boost/config/assert_cxx20.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
Expand Down
2 changes: 1 addition & 1 deletion include/boost/config/assert_cxx23.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
Expand Down
3 changes: 3 additions & 0 deletions include/boost/config/compiler/borland.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

#if __BORLANDC__ >= 0x590
# define BOOST_HAS_TR1_HASH
Expand Down
4 changes: 4 additions & 0 deletions include/boost/config/compiler/clang.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,10 @@
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif

#if (__clang_major__ < 4) || (__cplusplus < 201406L) /* non-standard value that is greater than 201402, which is reported by clang 4.0.0 for C++1z */
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

#if __cplusplus < 201103L
#define BOOST_NO_CXX11_SFINAE_EXPR
#endif
Expand Down
4 changes: 4 additions & 0 deletions include/boost/config/compiler/codegear.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,10 @@
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif

#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

//
// TR1 macros:
//
Expand Down
4 changes: 3 additions & 1 deletion include/boost/config/compiler/common_edg.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -171,10 +171,12 @@
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif

#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

#ifdef c_plusplus
// EDG has "long long" in non-strict mode
Expand Down
3 changes: 3 additions & 0 deletions include/boost/config/compiler/digitalmars.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

#if (__DMC__ <= 0x840)
#error "Compiler not supported or configured - please reconfigure"
Expand Down
3 changes: 3 additions & 0 deletions include/boost/config/compiler/gcc.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if (__GNUC__ < 7) || (__cplusplus < 201703L)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

#if __GNUC__ >= 7
# define BOOST_FALLTHROUGH __attribute__((fallthrough))
Expand Down
5 changes: 3 additions & 2 deletions include/boost/config/compiler/gcc_xml.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,8 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__


4 changes: 4 additions & 0 deletions include/boost/config/compiler/hp_acc.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,10 @@
#define BOOST_NO_CXX11_VARIADIC_MACROS
#endif

#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

#endif

//
Expand Down
3 changes: 3 additions & 0 deletions include/boost/config/compiler/metrowerks.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)

Expand Down
3 changes: 3 additions & 0 deletions include/boost/config/compiler/mpw.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

//
// versions check:
Expand Down
3 changes: 3 additions & 0 deletions include/boost/config/compiler/nvcc.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,5 +57,8 @@
# define BOOST_NO_CXX11_NOEXCEPT
#endif

#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

#endif
3 changes: 3 additions & 0 deletions include/boost/config/compiler/pathscale.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -135,4 +135,7 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
#endif
3 changes: 3 additions & 0 deletions include/boost/config/compiler/sunpro_cc.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,9 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

// Turn on threading support for Solaris 12.
// Ticket #11972
Expand Down
3 changes: 3 additions & 0 deletions include/boost/config/compiler/vacpp.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -184,3 +184,6 @@
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif
3 changes: 3 additions & 0 deletions include/boost/config/compiler/visualc.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,9 @@
#define BOOST_NO_CXX17_INLINE_VARIABLES
#define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if (_MSC_VER < 1914) || (_MSVC_LANG < 201703)
#define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

//
// Things that don't work in clr mode:
Expand Down
4 changes: 4 additions & 0 deletions include/boost/config/compiler/xlcpp.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,10 @@
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif

#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606)
# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#endif

#if !__has_feature(cxx_thread_local)
# define BOOST_NO_CXX11_THREAD_LOCAL
#endif
Expand Down
1 change: 1 addition & 0 deletions include/boost/config/compiler/xlcpp_zos.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@
#define BOOST_NO_CXX17_INLINE_VARIABLES
#define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#define BOOST_NO_CXX17_IF_CONSTEXPR
#define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS

// -------------------------------------

Expand Down
3 changes: 2 additions & 1 deletion include/boost/config/detail/cxx_composite.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
Expand Down Expand Up @@ -164,6 +164,7 @@
#endif

#if defined(BOOST_NO_CXX14)\
|| defined(BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS)\
|| defined(BOOST_NO_CXX17_DEDUCTION_GUIDES)\
|| defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\
|| defined(BOOST_NO_CXX17_HDR_ANY)\
Expand Down
5 changes: 4 additions & 1 deletion test/all/Jamfile.v2
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# Regression test Jamfile for boost configuration setup.
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Fri Oct 13 19:09:38 2023
# This file was automatically generated on Mon Jan 22 16:16:53 2024
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
Expand Down Expand Up @@ -346,6 +346,9 @@ test-suite "BOOST_NO_CXX14_VARIABLE_TEMPLATES" :
test-suite "BOOST_NO_CXX17" :
[ run ../no_cxx17_pass.cpp ]
[ compile-fail ../no_cxx17_fail.cpp ] ;
test-suite "BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS" :
[ run ../no_cxx17_auto_nontype_template_params_pass.cpp ]
[ compile-fail ../no_cxx17_auto_nontype_template_params_fail.cpp ] ;
test-suite "BOOST_NO_CXX17_DEDUCTION_GUIDES" :
[ run ../no_cxx17_deduction_guides_pass.cpp ]
[ compile-fail ../no_cxx17_deduction_guides_fail.cpp ] ;
Expand Down
31 changes: 31 additions & 0 deletions test/boost_no_cxx17_auto_nontype_template_params.ipp
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* Copyright 2024 Andrey Semashev
*
* Distributed under Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
*/

// MACRO: BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
// TITLE: C++17 auto non-type template parameters
// DESCRIPTION: C++17 auto non-type template parameters are not supported.

namespace boost_no_cxx17_auto_nontype_template_params {

template< auto Value >
struct foo
{
static auto get()
{
return Value;
}
};

const int ten = 10;

int test()
{
return foo< 10 >::get() - *foo< &ten >::get();
}

} // boost_no_cxx17_auto_nontype_template_params
2 changes: 2 additions & 0 deletions test/config_info.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1168,6 +1168,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE);
PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
PRINT_MACRO(BOOST_NO_CXX17);
PRINT_MACRO(BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS);
PRINT_MACRO(BOOST_NO_CXX17_DEDUCTION_GUIDES);
PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS);
PRINT_MACRO(BOOST_NO_CXX17_HDR_ANY);
Expand Down Expand Up @@ -1287,6 +1288,7 @@ void print_boost_macros()




// END GENERATED BLOCK

PRINT_MACRO(BOOST_CXX_VERSION);
Expand Down
12 changes: 11 additions & 1 deletion test/config_test.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was automatically generated on Fri Oct 13 19:09:38 2023
// This file was automatically generated on Mon Jan 22 16:16:53 2024
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
Expand Down Expand Up @@ -377,6 +377,11 @@ namespace boost_no_cxx14_variable_templates = empty_boost;
#else
namespace boost_no_cxx17 = empty_boost;
#endif
#ifndef BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
#include "boost_no_cxx17_auto_nontype_template_params.ipp"
#else
namespace boost_no_cxx17_auto_nontype_template_params = empty_boost;
#endif
#ifndef BOOST_NO_CXX17_DEDUCTION_GUIDES
#include "boost_no_cxx17_deduction_guides.ipp"
#else
Expand Down Expand Up @@ -1741,6 +1746,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX17 at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx17_auto_nontype_template_params::test())
{
std::cerr << "Failed test for BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx17_deduction_guides::test())
{
std::cerr << "Failed test for BOOST_NO_CXX17_DEDUCTION_GUIDES at: " << __FILE__ << ":" << __LINE__ << std::endl;
Expand Down
Loading
Loading