From fa58a7d87f47ffcb67c2c2da9a3affd9033f7c7a Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 11 Mar 2024 08:38:17 -0500 Subject: [PATCH 01/19] Make the library modular usable. --- Jamfile | 38 -------------------------------------- doc/Jamfile | 12 ++++++------ examples/Jamfile | 7 ++++++- test/Jamfile | 10 +++++++--- 4 files changed, 19 insertions(+), 48 deletions(-) delete mode 100644 Jamfile diff --git a/Jamfile b/Jamfile deleted file mode 100644 index de6e5312a..000000000 --- a/Jamfile +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright Mateusz Loskot 2018 -# Copyright Klemens David Morgenstern, Hans P. Dembinski 2016-2017 -# -# Use, modification and distribution is subject to 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) - -# Special builds for Boost Histogram: -# -# Generate coverage data: b2 cxxstd=latest coverage=on test//all -# Test without exceptions and rtti: b2 cxxstd=latest exception-handling=off rtti=off test//minimal -# Test with sanitizers: b2 toolset=clang cxxstd=latest histogram_ubasan test - -import common ; - -project - : requirements - /boost//headers - $(BOOST_ROOT) - clang:"-pedantic -Wextra -Wsign-compare -Wstrict-aliasing -fstrict-aliasing -Wvexing-parse -Wfloat-conversion -fvisibility=hidden -fvisibility-inlines-hidden" - darwin:"-pedantic -Wextra -Wsign-compare -Wstrict-aliasing -fstrict-aliasing -Wvexing-parse -Wfloat-conversion -fvisibility=hidden -fvisibility-inlines-hidden" - gcc:"-pedantic -Wextra -Wsign-compare -Wstrict-aliasing -fstrict-aliasing -Wfloat-conversion -fvisibility=hidden -fvisibility-inlines-hidden" - msvc:"/bigobj" - intel-win:"/bigobj" - : default-build - all - ; - -path-constant THIS_PATH : . ; - -# only works with clang because of -fsanitize-blacklist -variant histogram_ubasan : debug : - "-fno-omit-frame-pointer -O0 -fno-inline -fsanitize=address,leak,undefined -fno-sanitize-recover=all -fsanitize-blacklist=$(THIS_PATH)/tools/blacklist.supp" - "-fsanitize=address,leak,undefined" - ; - -build-project test ; -build-project examples ; diff --git a/doc/Jamfile b/doc/Jamfile index 261e30835..61087d41b 100644 --- a/doc/Jamfile +++ b/doc/Jamfile @@ -18,12 +18,12 @@ path-constant THIS_PATH : . ; doxygen reference : - $(THIS_PATH)/../../../boost/histogram.hpp - [ glob $(THIS_PATH)/../../../boost/histogram/*.hpp ] - [ glob $(THIS_PATH)/../../../boost/histogram/accumulators/*.hpp ] - [ glob $(THIS_PATH)/../../../boost/histogram/algorithm/*.hpp ] - [ glob $(THIS_PATH)/../../../boost/histogram/axis/*.hpp ] - [ glob $(THIS_PATH)/../../../boost/histogram/utility/*.hpp ] + $(THIS_PATH)/../include/boost/histogram.hpp + [ glob $(THIS_PATH)/../include/boost/histogram/*.hpp ] + [ glob $(THIS_PATH)/../include/boost/histogram/accumulators/*.hpp ] + [ glob $(THIS_PATH)/../include/boost/histogram/algorithm/*.hpp ] + [ glob $(THIS_PATH)/../include/boost/histogram/axis/*.hpp ] + [ glob $(THIS_PATH)/../include/boost/histogram/utility/*.hpp ] : QUIET=YES WARNINGS=YES diff --git a/examples/Jamfile b/examples/Jamfile index e1b85e0e7..ec50d28e1 100644 --- a/examples/Jamfile +++ b/examples/Jamfile @@ -5,8 +5,12 @@ # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +require-b2 5.0.1 ; + +import-search /boost/config/checks ; + import testing ; -import ../../config/checks/config : requires ; +import config : requires ; project : requirements @@ -14,6 +18,7 @@ project cxx14_constexpr cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx11_user_defined_literals # list could go on... ] + /boost/format//boost_format ; alias cxx14 : diff --git a/test/Jamfile b/test/Jamfile index d38b5398b..2a85ee1cb 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -6,11 +6,15 @@ # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +require-b2 5.0.1 ; + +import-search /boost/config/checks ; + import python ; import os ; import regex ; import testing ; -import ../../config/checks/config : requires ; +import config : requires ; if ! [ python.configured ] { @@ -146,9 +150,9 @@ alias math : [ run utility_jeffreys_interval_test.cpp ] : off ; -alias accumulators : [ run boost_accumulators_support_test.cpp ] : off ; +alias accumulators : [ run boost_accumulators_support_test.cpp : : : /boost/accumulators//boost_accumulators ] : off ; alias range : [ run boost_range_support_test.cpp ] : off ; -alias units : [ run boost_units_support_test.cpp ] : off ; +alias units : [ run boost_units_support_test.cpp : : : /boost/units//boost_units ] : off ; alias serialization : [ run accumulators_serialization_test.cpp libserial : $(THIS_PATH) ] [ run detail_array_wrapper_serialization_test.cpp libserial ] From 5c2aae023cf33aa48a308c6d3a958f5693da8d38 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 25 Apr 2024 08:46:50 -0500 Subject: [PATCH 02/19] Add missing build.jam. --- .gitignore | 3 ++- build.jam | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 build.jam diff --git a/.gitignore b/.gitignore index 922f7f457..08538ab43 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ tools/codecov coverage-report .cache venv -.pytest_cache \ No newline at end of file +.pytest_cache +!*.jam diff --git a/build.jam b/build.jam new file mode 100644 index 000000000..e23d81d64 --- /dev/null +++ b/build.jam @@ -0,0 +1,49 @@ +# Copyright René Ferdinand Rivera Morell 2024 +# 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) + +# Special builds for Boost Histogram: +# +# Generate coverage data: b2 cxxstd=latest coverage=on test//all +# Test without exceptions and rtti: b2 cxxstd=latest exception-handling=off rtti=off test//minimal +# Test with sanitizers: b2 toolset=clang cxxstd=latest histogram_ubasan test + +import project ; + +project /boost/histogram + : common-requirements + /boost/config//boost_config + /boost/core//boost_core + /boost/math//boost_math + /boost/mp11//boost_mp11 + /boost/serialization//boost_serialization + /boost/throw_exception//boost_throw_exception + /boost/variant2//boost_variant2 + include + : requirements + clang:"-Wsign-compare -Wstrict-aliasing -fstrict-aliasing -Wvexing-parse -Wfloat-conversion" + darwin:"-Wsign-compare -Wstrict-aliasing -fstrict-aliasing -Wvexing-parse -Wfloat-conversion" + gcc:"-Wsign-compare -Wstrict-aliasing -fstrict-aliasing -Wfloat-conversion" + msvc:"/bigobj" + intel-win:"/bigobj" + hidden + : default-build + extra + ; + +explicit + [ alias boost_histogram ] + [ alias all : boost_histogram test examples ] + ; + +call-if : boost-library histogram + ; + +path-constant THIS_PATH : . ; + +# only works with clang because of -fsanitize-blacklist +variant histogram_ubasan : debug : + "-fno-omit-frame-pointer -O0 -fno-inline -fsanitize=address,leak,undefined -fno-sanitize-recover=all -fsanitize-blacklist=$(THIS_PATH)/tools/blacklist.supp" + "-fsanitize=address,leak,undefined" + ; From 6a8ded249912cee5b56a3b67d0a8cabf010a67e0 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 5 May 2024 09:00:01 -0500 Subject: [PATCH 03/19] Add requires-b2 check to top-level build file. --- build.jam | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.jam b/build.jam index e23d81d64..1bcacb904 100644 --- a/build.jam +++ b/build.jam @@ -3,6 +3,8 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +require-b2 5.1 ; + # Special builds for Boost Histogram: # # Generate coverage data: b2 cxxstd=latest coverage=on test//all From 742c1fc2c2fd30107f22c64448f09cbd6ad73d94 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 14 Jun 2024 11:33:55 -0500 Subject: [PATCH 04/19] Bump B2 require to 5.2 --- build.jam | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build.jam b/build.jam index 1bcacb904..858451da3 100644 --- a/build.jam +++ b/build.jam @@ -3,7 +3,7 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -require-b2 5.1 ; +require-b2 5.2 ; # Special builds for Boost Histogram: # @@ -11,8 +11,6 @@ require-b2 5.1 ; # Test without exceptions and rtti: b2 cxxstd=latest exception-handling=off rtti=off test//minimal # Test with sanitizers: b2 toolset=clang cxxstd=latest histogram_ubasan test -import project ; - project /boost/histogram : common-requirements /boost/config//boost_config From 2e2333388c01e53194bbcf91cc42656bb5e5bdb0 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 19:39:41 -0500 Subject: [PATCH 05/19] Change all references to . --- examples/Jamfile | 2 +- test/Jamfile | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/Jamfile b/examples/Jamfile index ec50d28e1..850fd2a3b 100644 --- a/examples/Jamfile +++ b/examples/Jamfile @@ -18,7 +18,7 @@ project cxx14_constexpr cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx11_user_defined_literals # list could go on... ] - /boost/format//boost_format + /boost/format//boost_format ; alias cxx14 : diff --git a/test/Jamfile b/test/Jamfile index 191c1ea1c..3c510dccb 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -153,9 +153,9 @@ alias math : [ run utility_jeffreys_interval_test.cpp ] : off ; -alias accumulators : [ run boost_accumulators_support_test.cpp : : : /boost/accumulators//boost_accumulators ] : off ; +alias accumulators : [ run boost_accumulators_support_test.cpp : : : /boost/accumulators//boost_accumulators ] : off ; alias range : [ run boost_range_support_test.cpp ] : off ; -alias units : [ run boost_units_support_test.cpp : : : /boost/units//boost_units ] : off ; +alias units : [ run boost_units_support_test.cpp : : : /boost/units//boost_units ] : off ; alias serialization : [ run accumulators_serialization_test.cpp libserial : $(THIS_PATH) ] [ run detail_array_wrapper_serialization_test.cpp libserial ] From 6fd1394623b82885e8f42918190fbd6d22ef7aaf Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 23 Jul 2024 22:34:24 -0500 Subject: [PATCH 06/19] Move inter-lib dependencies to a project variable and into the build targets. --- build.jam | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/build.jam b/build.jam index 858451da3..10ee9681b 100644 --- a/build.jam +++ b/build.jam @@ -11,15 +11,17 @@ require-b2 5.2 ; # Test without exceptions and rtti: b2 cxxstd=latest exception-handling=off rtti=off test//minimal # Test with sanitizers: b2 toolset=clang cxxstd=latest histogram_ubasan test +constant boost_dependencies : + /boost/config//boost_config + /boost/core//boost_core + /boost/math//boost_math + /boost/mp11//boost_mp11 + /boost/serialization//boost_serialization + /boost/throw_exception//boost_throw_exception + /boost/variant2//boost_variant2 ; + project /boost/histogram : common-requirements - /boost/config//boost_config - /boost/core//boost_core - /boost/math//boost_math - /boost/mp11//boost_mp11 - /boost/serialization//boost_serialization - /boost/throw_exception//boost_throw_exception - /boost/variant2//boost_variant2 include : requirements clang:"-Wsign-compare -Wstrict-aliasing -fstrict-aliasing -Wvexing-parse -Wfloat-conversion" @@ -33,7 +35,7 @@ project /boost/histogram ; explicit - [ alias boost_histogram ] + [ alias boost_histogram : : : : $(boost_dependencies) ] [ alias all : boost_histogram test examples ] ; @@ -47,3 +49,4 @@ variant histogram_ubasan : debug : "-fno-omit-frame-pointer -O0 -fno-inline -fsanitize=address,leak,undefined -fno-sanitize-recover=all -fsanitize-blacklist=$(THIS_PATH)/tools/blacklist.supp" "-fsanitize=address,leak,undefined" ; + From 0215543a6c097871f998f57ecb5e6ff4e558ba18 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 3 Aug 2024 14:37:10 -0500 Subject: [PATCH 07/19] Update build deps. --- examples/Jamfile | 1 + test/Jamfile | 1 + 2 files changed, 2 insertions(+) diff --git a/examples/Jamfile b/examples/Jamfile index 850fd2a3b..367158c42 100644 --- a/examples/Jamfile +++ b/examples/Jamfile @@ -14,6 +14,7 @@ import config : requires ; project : requirements + /boost/histogram//boost_histogram [ requires cxx14_constexpr cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx11_user_defined_literals # list could go on... diff --git a/test/Jamfile b/test/Jamfile index 3c510dccb..7a01a13f6 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -25,6 +25,7 @@ path-constant THIS_PATH : . ; project : requirements + /boost/histogram//boost_histogram [ requires cxx14_constexpr cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx11_user_defined_literals # list could go on... From e159009ad51f2744ef2b7d21b75fcd03cb9d00ff Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 11 Aug 2024 09:23:25 -0500 Subject: [PATCH 08/19] Change math dep real target math/tr1. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index 10ee9681b..54f472ab3 100644 --- a/build.jam +++ b/build.jam @@ -14,7 +14,7 @@ require-b2 5.2 ; constant boost_dependencies : /boost/config//boost_config /boost/core//boost_core - /boost/math//boost_math + /boost/math//boost_math_tr1 /boost/mp11//boost_mp11 /boost/serialization//boost_serialization /boost/throw_exception//boost_throw_exception From de48f6374703a5ff96f9cd751a0736c54454d8a1 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 7 Apr 2025 17:29:12 -0500 Subject: [PATCH 09/19] Tweak GHA CI to use default compilers. --- .github/workflows/slow.yml | 34 +++++----------------------------- 1 file changed, 5 insertions(+), 29 deletions(-) diff --git a/.github/workflows/slow.yml b/.github/workflows/slow.yml index 687559728..1d6383f2d 100644 --- a/.github/workflows/slow.yml +++ b/.github/workflows/slow.yml @@ -15,7 +15,7 @@ concurrency: cancel-in-progress: true env: - B2_OPTS: -q -j2 warnings-as-errors=on + B2_OPTS: -q -j2 warnings-as-errors=on cxxflags=-Wno-unused-parameter UBSAN_OPTIONS: print_stacktrace=1 LSAN_OPTIONS: verbosity=1:log_threads=1 ASAN_OPTIONS: detect_leaks=1:detect_stack_use_after_return=1 @@ -46,31 +46,7 @@ jobs: cd libs/histogram ../../b2 $B2_OPTS cxxstd=17 test//all - gcc7: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v4 - - uses: egor-tensin/setup-gcc@v1 - with: - version: 7 - - name: Fetch Boost superproject - run: | - cd .. - git clone -b $GITHUB_BASE_REF --depth 5 https://github.com/boostorg/boost.git - cd boost - mv -f $GITHUB_WORKSPACE/* libs/histogram - git submodule update --init --depth 5 tools/build tools/boostdep - git submodule update --init --depth 5 libs/format - python tools/boostdep/depinst/depinst.py --git_args "--depth 5 --jobs 3" histogram - mv -f * $GITHUB_WORKSPACE - - name: Prepare b2 - run: ./bootstrap.sh - - name: Test cxxstd=14 (warnings ignored) - run: | - cd libs/histogram - ../../b2 -q -j2 toolset=gcc-7 cxxstd=14 test//all examples - - gcc10: + gcc: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -89,9 +65,9 @@ jobs: - name: Test cxxstd=20 -O3 -funsafe-math-optimizations run: | cd libs/histogram - ../../b2 $B2_OPTS toolset=gcc-10 cxxstd=20 cxxflags="-O3 -funsafe-math-optimizations" test//all examples + ../../b2 $B2_OPTS toolset=gcc cxxstd=20 cxxflags="-O3 -funsafe-math-optimizations" test//all examples - clang14: + clang: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -109,4 +85,4 @@ jobs: - name: Test cxxstd=17 ubsan asan run: | cd libs/histogram - ../../b2 $B2_OPTS toolset=clang-14 cxxstd=17 variant=histogram_ubasan test//all + ../../b2 $B2_OPTS toolset=clang cxxstd=17 variant=histogram_ubasan test//all From dad84fd2c36e2e25d6b95db8bcd97bca1357430d Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 10 Apr 2025 07:27:13 -0500 Subject: [PATCH 10/19] Avoid another warning from math. --- .github/workflows/slow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slow.yml b/.github/workflows/slow.yml index 1d6383f2d..b41f5ef4e 100644 --- a/.github/workflows/slow.yml +++ b/.github/workflows/slow.yml @@ -15,7 +15,7 @@ concurrency: cancel-in-progress: true env: - B2_OPTS: -q -j2 warnings-as-errors=on cxxflags=-Wno-unused-parameter + B2_OPTS: -q -j2 warnings-as-errors=on cxxflags=-Wno-unused-parameter cxxflags=-Wno-maybe-uninitialized UBSAN_OPTIONS: print_stacktrace=1 LSAN_OPTIONS: verbosity=1:log_threads=1 ASAN_OPTIONS: detect_leaks=1:detect_stack_use_after_return=1 From 3d32bf88b8ba430c20194acdc7d777299c0fa9be Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 10 Apr 2025 07:29:48 -0500 Subject: [PATCH 11/19] Avoid another warning from math. --- .github/workflows/slow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slow.yml b/.github/workflows/slow.yml index b41f5ef4e..ccb08d370 100644 --- a/.github/workflows/slow.yml +++ b/.github/workflows/slow.yml @@ -15,7 +15,7 @@ concurrency: cancel-in-progress: true env: - B2_OPTS: -q -j2 warnings-as-errors=on cxxflags=-Wno-unused-parameter cxxflags=-Wno-maybe-uninitialized + B2_OPTS: -q -j2 warnings-as-errors=on cxxflags=-Wno-unused-parameter cxxflags=-Wno-uninitialized UBSAN_OPTIONS: print_stacktrace=1 LSAN_OPTIONS: verbosity=1:log_threads=1 ASAN_OPTIONS: detect_leaks=1:detect_stack_use_after_return=1 From e6d92500537ef7fdba6aba5d41a7d31f505e1b2f Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 17 Apr 2025 08:55:33 -0500 Subject: [PATCH 12/19] Move include to target. --- build.jam | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/build.jam b/build.jam index 54f472ab3..27567156a 100644 --- a/build.jam +++ b/build.jam @@ -21,8 +21,6 @@ constant boost_dependencies : /boost/variant2//boost_variant2 ; project /boost/histogram - : common-requirements - include : requirements clang:"-Wsign-compare -Wstrict-aliasing -fstrict-aliasing -Wvexing-parse -Wfloat-conversion" darwin:"-Wsign-compare -Wstrict-aliasing -fstrict-aliasing -Wvexing-parse -Wfloat-conversion" @@ -35,7 +33,8 @@ project /boost/histogram ; explicit - [ alias boost_histogram : : : : $(boost_dependencies) ] + [ alias boost_histogram : : : + : include $(boost_dependencies) ] [ alias all : boost_histogram test examples ] ; From 3259c757b50735f51b386129790beea0e226c805 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 29 Apr 2025 09:14:58 -0500 Subject: [PATCH 13/19] Update dependencies. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index 27567156a..275cf7cb0 100644 --- a/build.jam +++ b/build.jam @@ -14,7 +14,7 @@ require-b2 5.2 ; constant boost_dependencies : /boost/config//boost_config /boost/core//boost_core - /boost/math//boost_math_tr1 + /boost/math//boost_math /boost/mp11//boost_mp11 /boost/serialization//boost_serialization /boost/throw_exception//boost_throw_exception From f3e62dc635594085a8ceb64c7f432912bd9cc925 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 29 Apr 2025 09:50:45 -0500 Subject: [PATCH 14/19] Add command output to slow tests for debugging build problems. --- .github/workflows/slow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slow.yml b/.github/workflows/slow.yml index ccb08d370..61e244f60 100644 --- a/.github/workflows/slow.yml +++ b/.github/workflows/slow.yml @@ -15,7 +15,7 @@ concurrency: cancel-in-progress: true env: - B2_OPTS: -q -j2 warnings-as-errors=on cxxflags=-Wno-unused-parameter cxxflags=-Wno-uninitialized + B2_OPTS: -q -j2 -d+2 warnings-as-errors=on cxxflags=-Wno-unused-parameter cxxflags=-Wno-uninitialized UBSAN_OPTIONS: print_stacktrace=1 LSAN_OPTIONS: verbosity=1:log_threads=1 ASAN_OPTIONS: detect_leaks=1:detect_stack_use_after_return=1 From 90778c2e90ad3f20855fd7e36d3601857e3a96bd Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 8 May 2025 23:02:01 -0500 Subject: [PATCH 15/19] Use b2 property instead of direct flag. --- .github/workflows/slow.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/slow.yml b/.github/workflows/slow.yml index 61e244f60..3f93878f0 100644 --- a/.github/workflows/slow.yml +++ b/.github/workflows/slow.yml @@ -62,10 +62,10 @@ jobs: mv -f * $GITHUB_WORKSPACE - name: Prepare b2 run: ./bootstrap.sh - - name: Test cxxstd=20 -O3 -funsafe-math-optimizations + - name: Test cxxstd=20 optimization=speed -funsafe-math-optimizations run: | cd libs/histogram - ../../b2 $B2_OPTS toolset=gcc cxxstd=20 cxxflags="-O3 -funsafe-math-optimizations" test//all examples + ../../b2 $B2_OPTS toolset=gcc cxxstd=20 optimization=speed cxxflags="-funsafe-math-optimizations" test//all examples clang: runs-on: ubuntu-latest From 3791d5e3afccae71e3e3e7dd2ab24e7d2d898084 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 9 May 2025 07:55:53 -0500 Subject: [PATCH 16/19] Always use latest macos image. --- .github/workflows/cov.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cov.yml b/.github/workflows/cov.yml index a14b313bd..20f5a387b 100644 --- a/.github/workflows/cov.yml +++ b/.github/workflows/cov.yml @@ -20,7 +20,7 @@ concurrency: jobs: cov: - runs-on: macos-11 + runs-on: macos-latest steps: - uses: actions/checkout@v4 - name: Fetch Boost superproject From 31015c6890cf6306c09f2ffe1ab9c714f0303a3d Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 9 May 2025 08:01:21 -0500 Subject: [PATCH 17/19] Fix dnagling reference warning/error. --- test/histogram_test.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/histogram_test.cpp b/test/histogram_test.cpp index 7a0006f84..4fbbf695e 100644 --- a/test/histogram_test.cpp +++ b/test/histogram_test.cpp @@ -146,9 +146,11 @@ void run_tests() { unsafe_access::axis(c, 0).metadata() = "foo"; BOOST_TEST_EQ(c.axis().metadata(), "foo"); // need to cast here for this to work with Tag == dynamic_tag, too - const auto& ca = axis::get>(c.axis()); + const auto ca_ = c.axis(); + const auto& ca = axis::get>(ca_); BOOST_TEST_EQ(ca.bin(0), 1); - const auto& ca2 = axis::get>(c.axis(0)); + const auto ca2_ = c.axis(0); + const auto& ca2 = axis::get>(ca2_); BOOST_TEST_EQ(&ca2, &ca); } From da68b505b6fb3d1cc5365e0ded0329cfbe8ed0e7 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 9 May 2025 08:08:16 -0500 Subject: [PATCH 18/19] Revert: Fix dangling reference warning/error. --- test/histogram_test.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/test/histogram_test.cpp b/test/histogram_test.cpp index 4fbbf695e..7a0006f84 100644 --- a/test/histogram_test.cpp +++ b/test/histogram_test.cpp @@ -146,11 +146,9 @@ void run_tests() { unsafe_access::axis(c, 0).metadata() = "foo"; BOOST_TEST_EQ(c.axis().metadata(), "foo"); // need to cast here for this to work with Tag == dynamic_tag, too - const auto ca_ = c.axis(); - const auto& ca = axis::get>(ca_); + const auto& ca = axis::get>(c.axis()); BOOST_TEST_EQ(ca.bin(0), 1); - const auto ca2_ = c.axis(0); - const auto& ca2 = axis::get>(ca2_); + const auto& ca2 = axis::get>(c.axis(0)); BOOST_TEST_EQ(&ca2, &ca); } From ee9453b1c541fb836c35e74dde37a5fc0e192113 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 9 May 2025 08:12:23 -0500 Subject: [PATCH 19/19] Bump cov gcc version to match what's in the OS. --- .github/workflows/cov.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cov.yml b/.github/workflows/cov.yml index 20f5a387b..7cfd24dfa 100644 --- a/.github/workflows/cov.yml +++ b/.github/workflows/cov.yml @@ -12,7 +12,7 @@ on: env: B2_OPTS: -q -j2 warnings-as-errors=on - GCC_VERSION: 11 + GCC_VERSION: 15 concurrency: group: ${{ github.workflow }}-${{ github.head_ref }}