diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index 70ff935692..ab0dd67a97 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -2,6 +2,8 @@ # 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) +import path ; + make html_ : build_antora.sh : @run-script ; actions run-script @@ -9,15 +11,18 @@ actions run-script bash $(>) } +path-constant DOC_DIR : . ; +.node_modules = [ path.join $(DOC_DIR) node_modules ] ; + make cleanup_node_modules_ : html_ : @cleanup-node-modules ; actions cleanup-node-modules { - bash -c "rm -rf node_modules" + rm -rf $(.node_modules) } ############################################################################### alias boostdoc ; explicit boostdoc ; -alias boostrelease : html_ ; +alias boostrelease : html_ cleanup_node_modules_ ; explicit boostrelease ; \ No newline at end of file diff --git a/doc/antora_docs.sh b/doc/antora_docs.sh deleted file mode 100755 index 5fc4a42999..0000000000 --- a/doc/antora_docs.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -set -ex - -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) -cd "$SCRIPT_DIR" - -npm ci -npx antora unordered-playbook.yml diff --git a/extra/boost_unordered_printers.py b/extra/boost_unordered_printers.py index 07e0893ee4..07f371a686 100644 --- a/extra/boost_unordered_printers.py +++ b/extra/boost_unordered_printers.py @@ -1,4 +1,4 @@ -# Copyright 2024-2025 Braden Ganetsky +# Copyright 2024-2026 Braden Ganetsky # Distributed under the Boost Software License, Version 1.0. # https://www.boost.org/LICENSE_1_0.txt @@ -16,8 +16,14 @@ def maybe_unwrap_atomic(n): return n def maybe_unwrap_foa_element(e): - if f"{e.type.strip_typedefs()}".startswith("boost::unordered::detail::foa::element_type<"): - return e["p"] + # Sometimes the complex typedefs can't be resolved through a pointer + if e.type.strip_typedefs().code == gdb.TYPE_CODE_PTR: + foa_element = e.dereference() + else: + foa_element = e + + if f"{foa_element.type.strip_typedefs()}".startswith("boost::unordered::detail::foa::element_type<"): + return foa_element["p"] else: return e diff --git a/include/boost/unordered/detail/unordered_printers.hpp b/include/boost/unordered/detail/unordered_printers.hpp index 0bb03847b0..419e21bbb7 100644 --- a/include/boost/unordered/detail/unordered_printers.hpp +++ b/include/boost/unordered/detail/unordered_printers.hpp @@ -1,8 +1,8 @@ -// Copyright 2024-2025 Braden Ganetsky +// Copyright 2024-2026 Braden Ganetsky // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt -// Generated on 2025-08-21T03:09:19 +// Generated on 2026-01-24T00:34:53 #ifndef BOOST_UNORDERED_DETAIL_UNORDERED_PRINTERS_HPP #define BOOST_UNORDERED_DETAIL_UNORDERED_PRINTERS_HPP @@ -29,8 +29,14 @@ __asm__(".pushsection \".debug_gdb_scripts\", \"MS\",%progbits,1\n" ".ascii \" return n\\n\"\n" ".ascii \" def maybe_unwrap_foa_element(e):\\n\"\n" - ".ascii \" if f\\\"{e.type.strip_typedefs()}\\\".startswith(\\\"boost::unordered::detail::foa::element_type<\\\"):\\n\"\n" - ".ascii \" return e[\\\"p\\\"]\\n\"\n" + ".ascii \" # Sometimes the complex typedefs can't be resolved through a pointer\\n\"\n" + ".ascii \" if e.type.strip_typedefs().code == gdb.TYPE_CODE_PTR:\\n\"\n" + ".ascii \" foa_element = e.dereference()\\n\"\n" + ".ascii \" else:\\n\"\n" + ".ascii \" foa_element = e\\n\"\n" + + ".ascii \" if f\\\"{foa_element.type.strip_typedefs()}\\\".startswith(\\\"boost::unordered::detail::foa::element_type<\\\"):\\n\"\n" + ".ascii \" return foa_element[\\\"p\\\"]\\n\"\n" ".ascii \" else:\\n\"\n" ".ascii \" return e\\n\"\n" diff --git a/test/cmake_subdir_test/CMakeLists.txt b/test/cmake_subdir_test/CMakeLists.txt index 745cd1097d..f1f33481f9 100644 --- a/test/cmake_subdir_test/CMakeLists.txt +++ b/test/cmake_subdir_test/CMakeLists.txt @@ -18,14 +18,9 @@ assert config container_hash core -move mp11 predef -preprocessor -static_assert throw_exception -tuple -type_traits # Secondary dependencies