diff --git a/.drone.star b/.drone.star index 1534eded..24633143 100644 --- a/.drone.star +++ b/.drone.star @@ -74,13 +74,15 @@ def main(ctx): linux_cxx("clang++-3.8 03", "clang++-3.8", packages="clang-3.8", llvm_os="precise", llvm_ver="3.8", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.8', 'CXXSTD': '03', }, globalenv=globalenv), linux_cxx("clang++-3.8 11", "clang++-3.8", packages="clang-3.8", llvm_os="precise", llvm_ver="3.8", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.8', 'CXXSTD': '11', }, globalenv=globalenv), - linux_cxx("clang++-3.8 14", "clang++-3.8", packages="clang-3.8", llvm_os="precise", llvm_ver="3.8", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.8', 'CXXSTD': '14', }, globalenv=globalenv), - linux_cxx("clang++-3.8 1z", "clang++-3.8", packages="clang-3.8", llvm_os="precise", llvm_ver="3.8", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.8', 'CXXSTD': '1z', }, globalenv=globalenv), + # These have issues not of our making: + #linux_cxx("clang++-3.8 14", "clang++-3.8", packages="clang-3.8", llvm_os="precise", llvm_ver="3.8", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.8', 'CXXSTD': '14', }, globalenv=globalenv), + #linux_cxx("clang++-3.8 1z", "clang++-3.8", packages="clang-3.8", llvm_os="precise", llvm_ver="3.8", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.8', 'CXXSTD': '1z', }, globalenv=globalenv), linux_cxx("clang++-3.9 03", "clang++-3.9", packages="clang-3.9", llvm_os="precise", llvm_ver="3.9", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.9', 'CXXSTD': '03', }, globalenv=globalenv), linux_cxx("clang++-3.9 11", "clang++-3.9", packages="clang-3.9", llvm_os="precise", llvm_ver="3.9", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.9', 'CXXSTD': '11', }, globalenv=globalenv), - linux_cxx("clang++-3.9 14", "clang++-3.9", packages="clang-3.9", llvm_os="precise", llvm_ver="3.9", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.9', 'CXXSTD': '14', }, globalenv=globalenv), - linux_cxx("clang++-3.9 1z", "clang++-3.9", packages="clang-3.9", llvm_os="precise", llvm_ver="3.9", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.9', 'CXXSTD': '1z', }, globalenv=globalenv), + # These have issues not of our making: + #linux_cxx("clang++-3.9 14", "clang++-3.9", packages="clang-3.9", llvm_os="precise", llvm_ver="3.9", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.9', 'CXXSTD': '14', }, globalenv=globalenv), + #linux_cxx("clang++-3.9 1z", "clang++-3.9", packages="clang-3.9", llvm_os="precise", llvm_ver="3.9", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.9', 'CXXSTD': '1z', }, globalenv=globalenv), linux_cxx("clang++-4.0 03", "clang++-4.0", packages="clang-4.0", llvm_os="xenial", llvm_ver="4.0", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-4.0', 'CXXSTD': '03', }, globalenv=globalenv), linux_cxx("clang++-4.0 11", "clang++-4.0", packages="clang-4.0", llvm_os="xenial", llvm_ver="4.0", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-4.0', 'CXXSTD': '11', }, globalenv=globalenv), diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d6f3cfc1..708852f2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -137,7 +137,7 @@ jobs: run: ../../../b2 print_config_info toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a working-directory: ../boost-root/libs/config/test - name: Test - run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a + run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a define=CI_SUPPRESS_KNOWN_ISSUES working-directory: ../boost-root/libs/graph/test windows_msvc_14_0: runs-on: windows-latest diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index b5cbd9d8..52e243f6 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -10,7 +10,7 @@ import path ; path-constant TEST_DIR : . ; run accum-compile-times.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat $(TEST_DIR)/target-compile-costs.dat ; -exe actor_clustering : actor_clustering.cpp ; +exe actor_clustering : actor_clustering.cpp : [ check-target-builds ../test//is_issue_251 : no ] ; run adj_list_ra_edgelist.cpp ; run adjacency_list.cpp ; run adjacency_list_io.cpp ; @@ -43,7 +43,7 @@ run copy-example.cpp ; run csr-example.cpp ; run cuthill_mckee_ordering.cpp ; run cycle_canceling_example.cpp ; -run cycle_ratio_example.cpp ; +run cycle_ratio_example.cpp : : : [ check-target-builds ../test//is_issue_251 : no ] ; run cycle-file-dep.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat ; run cycle-file-dep2.cpp : $(TEST_DIR)/makefile-dependencies.dat $(TEST_DIR)/makefile-target-names.dat ; run dag_shortest_paths.cpp ; @@ -75,7 +75,7 @@ run filtered_graph.cpp ; run filtered_graph_edge_range.cpp ; run filtered_vec_as_graph.cpp ; run filtered-copy-example.cpp ; -exe fr_layout : fr_layout.cpp : [ requires cxx11_hdr_type_traits ] ; +exe fr_layout : fr_layout.cpp : [ requires cxx11_noexcept cxx11_rvalue_references sfinae_expr cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_hdr_tuple cxx11_hdr_initializer_list cxx11_hdr_chrono cxx11_thread_local cxx11_constexpr cxx11_nullptr cxx11_numeric_limits cxx11_decltype cxx11_hdr_array cxx11_hdr_atomic cxx11_hdr_type_traits cxx11_allocator cxx11_explicit_conversion_operators ] ; run gerdemann.cpp ; run graph.cpp ; run graph_as_tree.cpp ; diff --git a/example/container_gen.cpp b/example/container_gen.cpp index 17fb7f7b..55d372a3 100644 --- a/example/container_gen.cpp +++ b/example/container_gen.cpp @@ -20,7 +20,11 @@ namespace boost template < class Alloc, class ValueType > struct container_gen< list_with_allocatorS< Alloc >, ValueType > { +#ifdef BOOST_NO_CXX11_ALLOCATOR typedef typename Alloc::template rebind< ValueType >::other Allocator; +#else + typedef typename std::allocator_traits::template rebind_alloc Allocator; +#endif typedef std::list< ValueType, Allocator > type; }; template < class Alloc > diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index fecb23a6..5145cbdb 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -19,6 +19,9 @@ path-constant CYCLE_RATIO_INPUT_FILE : ./cycle_ratio_s382.90.dot ; path-constant METIS_INPUT_FILE : ./weighted_graph.gr ; +obj is_issue_251 : is_issue_251.cpp ; +explicit is_issue_251 ; + alias graph_test_regular : # test_graphs will eventually defined a framework for testing the structure # and implementation of graph data structures and adaptors. @@ -74,8 +77,8 @@ alias graph_test_regular : ../build//boost_graph ../../regex/build//boost_regex : --log_level=all ] [ run metis_test.cpp : $(METIS_INPUT_FILE) ] - [ run gursoy_atun_layout_test.cpp : : : [ requires cxx11_hdr_type_traits ] ] - [ run layout_test.cpp : : : always_show_run_output intel:off [ requires cxx11_hdr_type_traits ] ] + [ run gursoy_atun_layout_test.cpp : : : [ requires cxx11_noexcept cxx11_rvalue_references sfinae_expr cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_hdr_tuple cxx11_hdr_initializer_list cxx11_hdr_chrono cxx11_thread_local cxx11_constexpr cxx11_nullptr cxx11_numeric_limits cxx11_decltype cxx11_hdr_array cxx11_hdr_atomic cxx11_hdr_type_traits cxx11_allocator cxx11_explicit_conversion_operators ] ] + [ run layout_test.cpp : : : always_show_run_output intel:off [ requires cxx11_noexcept cxx11_rvalue_references sfinae_expr cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_hdr_tuple cxx11_hdr_initializer_list cxx11_hdr_chrono cxx11_thread_local cxx11_constexpr cxx11_nullptr cxx11_numeric_limits cxx11_decltype cxx11_hdr_array cxx11_hdr_atomic cxx11_hdr_type_traits cxx11_allocator cxx11_explicit_conversion_operators ] ] [ run serialize.cpp ../../serialization/build//boost_serialization @@ -115,7 +118,7 @@ alias graph_test_regular : [ run weighted_matching_test.cpp ] [ run max_flow_test.cpp ] [ run boykov_kolmogorov_max_flow_test.cpp ] - [ run cycle_ratio_tests.cpp ../build//boost_graph ../../regex/build//boost_regex : $(CYCLE_RATIO_INPUT_FILE) ] + [ run cycle_ratio_tests.cpp ../build//boost_graph ../../regex/build//boost_regex : $(CYCLE_RATIO_INPUT_FILE) : : [ check-target-builds .//is_issue_251 : no ] ] [ run basic_planarity_test.cpp ] [ run make_connected_test.cpp ] [ run make_bicon_planar_test.cpp ] diff --git a/test/is_issue_251.cpp b/test/is_issue_251.cpp new file mode 100644 index 00000000..6b6e67c3 --- /dev/null +++ b/test/is_issue_251.cpp @@ -0,0 +1,22 @@ +//======================================================================= +// Copyright 2021 John Maddock. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +//======================================================================= + +// +// This file will compile ONLY if we have the conditions necessary to +// trigger: https://github.com/boostorg/graph/issues/251. +// +// This file and all references to it in Jamfile.v2 should be removed +// when that issue is fixed. +// +#include + +#if defined(CI_SUPPRESS_KNOWN_ISSUES) && defined(_LIBCPP_VERSION) && (_LIBCPP_VERSION >= 10000) +// We have the issue. +#else +#error "Not issue 251" +#endif