1
0
forked from boostorg/bind

Compare commits

...

13 Commits

Author SHA1 Message Date
Peter Dimov
96e8802169 Add VERBATIM to add_custom_target 2024-08-20 19:40:37 +03:00
Peter Dimov
620ddec3ee Update build.jam, test/Jamfile 2024-08-20 19:39:13 +03:00
Rene Rivera
0e7a2373c1 Update build deps. 2024-07-31 08:31:28 -05:00
Rene Rivera
5af56ff9f8 Move inter-lib dependencies to a project variable and into the build targets. 2024-07-23 22:34:23 -05:00
Rene Rivera
a902503477 Update copyright dates. 2024-07-20 22:52:04 -05:00
Rene Rivera
c72cc6f914 Change all <source> references to <library>. 2024-07-20 19:36:58 -05:00
Rene Rivera
0de59ef498 Sync from upstream. 2024-07-12 08:54:07 -05:00
Peter Dimov
97776ec7ba Disable -Warray-bounds in bind_ref_test because of GCC 14 UBSAN 2024-07-10 12:38:24 +03:00
Peter Dimov
76c1733f47 Update .drone.jsonnet 2024-07-10 11:41:39 +03:00
Rene Rivera
2e0c546d64 Bump B2 require to 5.2 2024-06-14 11:33:55 -05:00
Rene Rivera
c1bdcd3e9b Add requires-b2 check to top-level build file. 2024-05-05 09:00:00 -05:00
Rene Rivera
da830bc0eb Switch to library requirements instead of source. As source puts extra source in install targets. 2024-03-29 21:12:36 -05:00
Rene Rivera
e18818ec06 Make the library modular usable. 2024-03-11 08:27:02 -05:00
6 changed files with 78 additions and 10 deletions

View File

@@ -190,13 +190,6 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
"g++-13-multilib",
),
linux_pipeline(
"Linux 23.04 GCC 13 64 ASAN",
"cppalliance/droneubuntu2304:1",
{ TOOLSET: 'gcc', COMPILER: 'g++-13', CXXSTD: '11,14,17,20,2b', ADDRMD: '64' } + asan,
"g++-13-multilib",
),
linux_pipeline(
"Linux 23.04 GCC 13 32 UBSAN",
"cppalliance/droneubuntu2304:1",
@@ -211,6 +204,34 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
"g++-13-multilib",
),
linux_pipeline(
"Linux 24.04 GCC 14 32 ASAN",
"cppalliance/droneubuntu2404:1",
{ TOOLSET: 'gcc', COMPILER: 'g++-14', CXXSTD: '11,14,17,20,2b', ADDRMD: '32' } + asan,
"g++-14-multilib",
),
linux_pipeline(
"Linux 24.04 GCC 14 64 ASAN",
"cppalliance/droneubuntu2404:1",
{ TOOLSET: 'gcc', COMPILER: 'g++-14', CXXSTD: '11,14,17,20,2b', ADDRMD: '64' } + asan,
"g++-14-multilib",
),
linux_pipeline(
"Linux 24.04 GCC 14 32 UBSAN",
"cppalliance/droneubuntu2404:1",
{ TOOLSET: 'gcc', COMPILER: 'g++-14', CXXSTD: '11,14,17,20,2b', ADDRMD: '32' } + ubsan,
"g++-14-multilib",
),
linux_pipeline(
"Linux 24.04 GCC 14 64 UBSAN",
"cppalliance/droneubuntu2404:1",
{ TOOLSET: 'gcc', COMPILER: 'g++-14', CXXSTD: '11,14,17,20,2b', ADDRMD: '64' } + ubsan,
"g++-14-multilib",
),
linux_pipeline(
"Linux 16.04 Clang 3.5",
"cppalliance/droneubuntu1604:1",
@@ -281,6 +302,20 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
"clang-17",
),
linux_pipeline(
"Linux 24.04 Clang 18 UBSAN",
"cppalliance/droneubuntu2404:1",
{ TOOLSET: 'clang', COMPILER: 'clang++-18', CXXSTD: '11,14,17,20,2b' } + ubsan,
"clang-18",
),
linux_pipeline(
"Linux 24.04 Clang 18 ASAN",
"cppalliance/droneubuntu2404:1",
{ TOOLSET: 'clang', COMPILER: 'clang++-18', CXXSTD: '11,14,17,20,2b' } + asan,
"clang-18",
),
macos_pipeline(
"MacOS 10.15 Xcode 12.2 UBSAN",
{ TOOLSET: 'clang', COMPILER: 'clang++', CXXSTD: '11,14,1z' } + ubsan,

21
build.jam Normal file
View File

@@ -0,0 +1,21 @@
# Copyright 2023-2024 René Ferdinand Rivera Morell
# Copyright 2024 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# https://www.boost.org/LICENSE_1_0.txt
require-b2 5.2 ;
constant boost_dependencies :
/boost/config//boost_config
/boost/core//boost_core
;
project /boost/bind ;
explicit
[ alias boost_bind : : : : <include>include <library>$(boost_dependencies) ]
[ alias all : boost_bind test ]
;
call-if : boost-library bind
;

View File

@@ -24,7 +24,12 @@ project
<toolset>gcc:<cxxflags>$(gcc-flags)
<toolset>clang:<cxxflags>$(gcc-flags)
;
<library>/boost/bind//boost_bind
<library>/boost/core//boost_core
<library>/boost/function//boost_function
<library>/boost/smart_ptr//boost_smart_ptr
;
# quick test (for CI)
run quick.cpp ;

View File

@@ -8,6 +8,13 @@
// http://www.boost.org/LICENSE_1_0.txt
//
#if defined(__GNUC__)
// -Warray-bounds false positive under GCC 14 UBSAN
// ./boost/bind/mem_fn.hpp:74:59: error: array subscript 'int (**)(...)[0]' is partly outside array bounds of 'X [1]' [-Werror=array-bounds=]
// 74 | return (get_pointer( std::forward<U>( u ) )->*pm_)( std::forward<A>( a )... );
# pragma GCC diagnostic ignored "-Warray-bounds"
#endif
#include <boost/bind/bind.hpp>
#include <boost/ref.hpp>
#include <boost/core/lightweight_test.hpp>

View File

@@ -15,4 +15,4 @@ target_link_libraries(quick Boost::bind Boost::core)
enable_testing()
add_test(quick quick)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)

View File

@@ -19,4 +19,4 @@ target_link_libraries(quick Boost::bind Boost::core)
enable_testing()
add_test(quick quick)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
add_custom_target(check VERBATIM COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)