Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
1d249d9
BOOST_OPENMETHOD_DETAIL_HAS_STATIC_FN
jll63 Jan 26, 2026
2aabeb9
support dynamic loading on Windows
jll63 Jan 26, 2026
374216e
support dynamic loading on Windows
jll63 Mar 8, 2026
66e7176
support dynamic loading on Windows
jll63 Mar 14, 2026
9e1e41b
support dynamic loading on Windows
jll63 Mar 14, 2026
b978b33
test
jll63 Mar 14, 2026
64732aa
test _WIN32, not _MSC_VER
jll63 Mar 14, 2026
b63de05
detail::unspecified
jll63 Mar 14, 2026
beebf93
find dlls
jll63 Mar 14, 2026
7762930
find dlls
jll63 Mar 14, 2026
2ed88a6
update doc (claude)
jll63 Mar 14, 2026
da41474
simplify file names
jll63 Mar 14, 2026
78c486d
remove useless compile definitions
jll63 Mar 14, 2026
c0d78d4
mingw
jll63 Mar 14, 2026
8a739cc
prefix DLL file names
jll63 Mar 14, 2026
7e224c2
'main' static links with 'registry'
jll63 Mar 14, 2026
928c967
improve dl tests
jll63 Mar 14, 2026
c085e26
mingw
jll63 Mar 14, 2026
1682827
with b2
jll63 Mar 14, 2026
4706716
mingw
jll63 Mar 15, 2026
6ccf761
minor reformatting
jll63 Mar 17, 2026
534d326
work with b2 on posix (claude)
jll63 Mar 17, 2026
a890868
Revert "work with b2 on posix (claude)"
jll63 Mar 22, 2026
eb59fac
Revert "minor reformatting"
jll63 Mar 22, 2026
b871b5e
Revert "mingw"
jll63 Mar 22, 2026
1342250
Revert "with b2"
jll63 Mar 22, 2026
08f516f
Revert "mingw"
jll63 Mar 22, 2026
b1727f7
mingw
jll63 Mar 28, 2026
96934e0
mingw
jll63 Mar 28, 2026
1e5fbb4
simpler?
jll63 Mar 28, 2026
127ef35
get_attributes -> get_declspec
jll63 Mar 28, 2026
8aac836
b2
jll63 Mar 28, 2026
ca13f40
ok cmake
jll63 Mar 28, 2026
b46f15c
also check fn
jll63 Mar 28, 2026
a129208
alleluiah!
jll63 Mar 29, 2026
7638806
cmake
jll63 Mar 29, 2026
a8dbf4d
cmake
jll63 Mar 29, 2026
6315bb4
b2: add deps
jll63 Mar 29, 2026
1e5f89e
initialize.hpp need to include <tuple>
jll63 Mar 29, 2026
705e29b
cml
jll63 Mar 29, 2026
201c813
cml
jll63 Mar 29, 2026
2194b39
Jamfile: move tag stuff one level
jll63 Mar 29, 2026
2a88092
cml on win
jll63 Mar 29, 2026
a940739
cml on win
jll63 Mar 29, 2026
a5c7425
kill warning
jll63 Mar 29, 2026
36a181e
b2: create symlinks/copies instead
jll63 Mar 29, 2026
5a77b26
disable error=unused-function
jll63 Mar 29, 2026
92d6e9a
add guards
jll63 Mar 29, 2026
e272d87
remove INCLUDED_FROM
jll63 Mar 29, 2026
52d18cc
fast_perfect_hash.hpp: #include <tuple>
jll63 Mar 29, 2026
ee46a48
win+b2
jll63 Mar 29, 2026
ce9f72d
win+b2
jll63 Mar 29, 2026
abbcda9
claude
jll63 Apr 14, 2026
80b8263
mingw
jll63 Apr 18, 2026
ef56bc6
clang-win
jll63 Apr 18, 2026
9c92193
clang-win
jll63 Apr 19, 2026
70b1343
posix, mac: only when visibility = global
jll63 Apr 19, 2026
5457915
no alias
jll63 Apr 19, 2026
a714bec
always use find_lib
jll63 Apr 19, 2026
de0c43c
cml
jll63 Apr 19, 2026
b9e94e4
wsl
jll63 Apr 19, 2026
24d8aa3
win
jll63 Apr 19, 2026
3dd1f1f
cml
jll63 Apr 19, 2026
c6b33c0
wip
jll63 Apr 19, 2026
df0fee3
shift OK
jll63 Apr 20, 2026
d32412d
cygwin
jll63 Apr 20, 2026
66a70eb
cygwin
jll63 Apr 20, 2026
7fc39ab
wip
jll63 Apr 20, 2026
a50c4cd
DLL in same dir as exe
jll63 Apr 20, 2026
aa6c339
posix?
jll63 Apr 21, 2026
95abbeb
b2: add boost_filesystem
jll63 Apr 26, 2026
48258e9
CI: skip incapable compilers
jll63 Apr 26, 2026
5511eb8
dynamic_loading test: suppress warnings for deps
jll63 Apr 26, 2026
bc2fba3
Consolidate method copies across DLL boundaries at augment_methods time
jll63 May 24, 2026
23566fd
Fix custom_rtti test conflation and remove get_fn test
jll63 May 24, 2026
43900be
Propagate slots_strides to all module copies; strengthen test
jll63 May 24, 2026
c34ef4f
Simplify slots_strides propagation: drop the lookup map
jll63 May 24, 2026
7d32ab0
fix old casts
jll63 May 24, 2026
e634037
test_custom_rtti: use std::size_t with high-bit flag for non-poly types
jll63 May 24, 2026
02c0b60
fix method consolidation
jll63 May 28, 2026
b10e2ae
move policy states to tuple inside registry
jll63 May 30, 2026
444f287
ditch ADL declspec customization point
jll63 May 30, 2026
da1dd16
use output policy's stream() internally instead of deprecated os
jll63 May 30, 2026
ae3e976
dynamic_shared example: run the test from the exe's output directory
jll63 May 30, 2026
01127a4
Merge remote-tracking branch 'upstream/develop' into feature/windll3
jll63 May 31, 2026
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
80 changes: 80 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
{
"permissions": {
"allow": [
"Bash(gh api:*)",
"Bash(where gh:*)",
"WebFetch(domain:github.com)",
"WebFetch(domain:api.github.com)",
"Bash(winget install:*)",
"Bash(export PATH=\"/c/Program Files/GitHub CLI:$PATH\")",
"Bash(gh auth:*)",
"Bash(export PATH=\"/c/Program Files/GitHub CLI:/usr/bin:$PATH\")",
"Bash(c:/msys64/mingw64/bin/g++ -E -x c++ -std=c++17 -I d:/boost/libs/config/include -)",
"Read(//c/msys64/**)",
"Bash(c:/msys64/ucrt64/bin/g++ -c -x c++ -std=c++17 -Id:/boost/libs/config/include /tmp/test_sym.cpp)",
"Bash(c:/msys64/ucrt64/bin/g++ -c -x c++ -std=c++17 -Id:/boost/libs/config/include -o /dev/null /tmp/test_sym.cpp)",
"Bash(c:/msys64/ucrt64/bin/g++.exe -c -x c++ -std=c++17 -Id:/boost/libs/config/include -o /tmp/test_sym.o /tmp/test_sym.cpp)",
"Bash(echo \"exit: $?\")",
"Bash(c:/msys64/ucrt64/bin/g++.exe -c -x c++ -std=c++17 -Id:/boost/libs/config/include /tmp/test_sym.cpp -o /tmp/test_sym.o)",
"Bash(echo \"RC=$?\")",
"Read(//d/boost/libs/config/include/boost/config/**)",
"Bash(ls d:/boost/libs/openmethod/build/stage/bin/*/boost_openmethod-test_dynamic_loading.exe)",
"Bash(d:/boost/libs/openmethod/build/stage/bin/Debug/boost_openmethod-test_dynamic_loading.exe --log_level=message)",
"Bash(echo \"EXIT=$?\")",
"Bash(ls d:/boost/libs/openmethod/build/stage/bin/Debug/*.dll)",
"Bash(ls -la d:/boost/libs/openmethod/build/stage/bin/Debug/*registry*.dll)",
"Bash(PATH=\".:$PATH\" ./boost_openmethod-test_dynamic_loading.exe --log_level=message)",
"Bash(ldd boost_openmethod-test_dynamic_loading.exe)",
"Bash(ctest -R dynamic_loading -V)",
"Bash(ls -la *.dll)",
"Bash(ctest -R dynamic_loading -V --rerun-failed --output-on-failure)",
"Bash(ldd libboost_openmethod-dl_test_registry.dll)",
"Bash(c:/msys64/ucrt64/bin/file.exe d:/boost/libs/openmethod/build/stage/bin/Debug/boost_openmethod-test_dynamic_loading.exe d:/boost/libs/openmethod/build/stage/bin/Debug/libboost_openmethod-dl_test_registry.dll)",
"Bash(ldd d:/boost/libs/openmethod/build/stage/bin/Debug/boost_openmethod-test_dynamic_loading.exe)",
"Bash(PATH=\"/c/Windows/System32\" ./boost_openmethod-test_dynamic_loading.exe)",
"Bash(./boost_openmethod-test_dynamic_loading.exe --log_level=message)",
"Bash(echo $PATH)",
"Bash(PATH=\"c:/msys64/ucrt64/bin:$PATH\" cmd //c \"boost_openmethod-test_dynamic_loading.exe --log_level=message\")",
"Bash(PATH=\"c:/msys64/ucrt64/bin:$PATH\" d:/boost/libs/openmethod/build/stage/bin/Debug/boost_openmethod-test_dynamic_loading.exe --log_level=message)",
"Bash(ldd d:/boost/libs/openmethod/build/stage/bin/Debug/libboost_openmethod-dl_test_registry.dll)",
"Bash(gcc --version)",
"Read(//mingw64/**)",
"Bash(c:/msys64/ucrt64/bin/g++.exe --version)",
"Bash(ls /mingw64/bin/libgcc*)",
"Bash(ls c:/msys64/ucrt64/bin/libgcc*)",
"Bash(PATH=\"c:/msys64/ucrt64/bin:$PATH\" ctest -R \"dynamic_loading$\" -V --output-on-failure)",
"Bash(c:/msys64/ucrt64/bin/ntldd.exe boost_openmethod-test_dynamic_loading.exe)",
"Bash(python3 -c \":*)",
"Bash(c:/msys64/ucrt64/bin/python3 -c \":*)",
"Read(//d/boost/libs/dll/include/boost/dll/**)",
"Bash(c:/msys64/ucrt64/bin/g++.exe -DBOOST_DLL_FORCE_ALIAS_INSTANTIATION -DBOOST_OPENMETHOD_ENABLE_RUNTIME_CHECKS -Dboost_openmethod_dl_test_registry_EXPORTS @CMakeFiles/boost_openmethod-dl_test_registry.dir/includes_CXX.rsp -g -fvisibility=default -c D:/boost/libs/openmethod/test/dynamic_loading/registry.cpp -o /tmp/test.o)",
"Read(//c/Users/jl/AppData/Local/Temp/**)",
"Bash(cmake .)",
"Bash(c:/msys64/ucrt64/bin/g++.exe -DBOOST_DLL_FORCE_ALIAS_INSTANTIATION -DBOOST_OPENMETHOD_ENABLE_RUNTIME_CHECKS -DEXPORT_REGISTRY -DINCLUDED_FROM='\"\"registry.cpp\"\"' -ID:/boost/libs/openmethod/include -ID:/boost/libs/assert/include -ID:/boost/libs/config/include -ID:/boost/libs/core/include -ID:/boost/libs/throw_exception/include -ID:/boost/libs/dynamic_bitset/include -ID:/boost/libs/container_hash/include -ID:/boost/libs/describe/include -ID:/boost/libs/mp11/include -ID:/boost/libs/preprocessor/include -ID:/boost/libs/smart_ptr/include -ID:/boost/libs/dll/include -ID:/boost/libs/predef/include -ID:/boost/libs/system/include -ID:/boost/libs/compat/include -ID:/boost/libs/variant2/include -ID:/boost/libs/winapi/include -ID:/boost/libs/type_index/include -ID:/boost/libs/filesystem/include -ID:/boost/libs/detail/include -ID:/boost/libs/type_traits/include -ID:/boost/libs/io/include -ID:/boost/libs/iterator/include -ID:/boost/libs/concept_check/include -ID:/boost/libs/fusion/include -ID:/boost/libs/function_types/include -ID:/boost/libs/mpl/include -ID:/boost/libs/utility/include -ID:/boost/libs/tuple/include -ID:/boost/libs/typeof/include -ID:/boost/libs/functional/include -ID:/boost/libs/function/include -ID:/boost/libs/bind/include -ID:/boost/libs/optional/include -g -fvisibility=default -c D:/boost/libs/openmethod/test/dynamic_loading/registry.cpp -o /tmp/test.o)",
"Bash(c:/msys64/ucrt64/bin/g++.exe -DBOOST_DLL_FORCE_ALIAS_INSTANTIATION -DBOOST_OPENMETHOD_ENABLE_RUNTIME_CHECKS -ID:/boost/libs/openmethod/include -ID:/boost/libs/config/include -ID:/boost/libs/core/include -ID:/boost/libs/throw_exception/include -ID:/boost/libs/dynamic_bitset/include -ID:/boost/libs/container_hash/include -ID:/boost/libs/describe/include -ID:/boost/libs/mp11/include -ID:/boost/libs/preprocessor/include -ID:/boost/libs/smart_ptr/include -ID:/boost/libs/dll/include -ID:/boost/libs/predef/include -ID:/boost/libs/system/include -ID:/boost/libs/compat/include -ID:/boost/libs/variant2/include -ID:/boost/libs/winapi/include -ID:/boost/libs/type_index/include -ID:/boost/libs/filesystem/include -ID:/boost/libs/assert/include -ID:/boost/libs/detail/include -ID:/boost/libs/type_traits/include -ID:/boost/libs/io/include -ID:/boost/libs/iterator/include -ID:/boost/libs/concept_check/include -ID:/boost/libs/fusion/include -ID:/boost/libs/function_types/include -ID:/boost/libs/mpl/include -ID:/boost/libs/utility/include -ID:/boost/libs/tuple/include -ID:/boost/libs/typeof/include -ID:/boost/libs/functional/include -ID:/boost/libs/function/include -ID:/boost/libs/bind/include -ID:/boost/libs/optional/include -g -fvisibility=default -fsyntax-only D:/boost/libs/openmethod/test/dynamic_loading/registry.cpp)",
"Bash(echo \"RC=$PIPESTATUS[0]\")",
"Bash(c:/msys64/ucrt64/bin/g++.exe -DBOOST_OPENMETHOD_ENABLE_RUNTIME_CHECKS -ID:/boost/libs/openmethod/include -ID:/boost/libs/config/include -ID:/boost/libs/core/include -ID:/boost/libs/throw_exception/include -ID:/boost/libs/dynamic_bitset/include -ID:/boost/libs/container_hash/include -ID:/boost/libs/describe/include -ID:/boost/libs/mp11/include -ID:/boost/libs/preprocessor/include -ID:/boost/libs/smart_ptr/include -ID:/boost/libs/dll/include -ID:/boost/libs/predef/include -ID:/boost/libs/system/include -ID:/boost/libs/compat/include -ID:/boost/libs/variant2/include -ID:/boost/libs/winapi/include -ID:/boost/libs/type_index/include -ID:/boost/libs/filesystem/include -ID:/boost/libs/assert/include -ID:/boost/libs/detail/include -ID:/boost/libs/type_traits/include -ID:/boost/libs/io/include -ID:/boost/libs/iterator/include -ID:/boost/libs/concept_check/include -ID:/boost/libs/fusion/include -ID:/boost/libs/function_types/include -ID:/boost/libs/mpl/include -ID:/boost/libs/utility/include -ID:/boost/libs/tuple/include -ID:/boost/libs/typeof/include -ID:/boost/libs/functional/include -ID:/boost/libs/function/include -ID:/boost/libs/bind/include -ID:/boost/libs/optional/include -g -fvisibility=default -fsyntax-only D:/boost/libs/openmethod/test/dynamic_loading/registry.cpp)",
"Bash(c:/msys64/ucrt64/bin/g++.exe -x c++ -fsyntax-only -)",
"Bash(echo RC=$?)",
"Bash(c:/msys64/ucrt64/bin/g++.exe -fsyntax-only /tmp/test_min.cpp)",
"Bash(echo 'static_assert\\(false, \"\"hello\"\"\\);')",
"Bash(c:/msys64/ucrt64/bin/g++.exe -std=c++17 -fsyntax-only /tmp/test_min.cpp)",
"Bash(cmd //c \"c:\\\\msys64\\\\ucrt64\\\\bin\\\\g++.exe -std=c++17 -fsyntax-only /tmp/test_min.cpp 2>&1\")",
"Bash(c:/msys64/ucrt64/bin/g++.exe -std=c++17 -fsyntax-only C:/Users/jl/AppData/Local/Temp/test_min.cpp)",
"Bash(cmd //c \"cd /d D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test\\\\dynamic_loading && C:\\\\msys64\\\\ucrt64\\\\bin\\\\g++.exe -DBOOST_FILESYSTEM_NO_LIB -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_OPENMETHOD_ENABLE_RUNTIME_CHECKS -Dboost_openmethod_dl_test_registry_EXPORTS @CMakeFiles\\\\boost_openmethod-dl_test_registry.dir\\\\includes_CXX.rsp -g -fvisibility=default -c D:\\\\boost\\\\libs\\\\openmethod\\\\test\\\\dynamic_loading\\\\registry.cpp -o NUL 2> D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\gcc_err.txt\")",
"Bash(cmd //c \"echo int main\\(\\){} > D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test_min.cpp && C:\\\\msys64\\\\ucrt64\\\\bin\\\\g++.exe -std=c++17 -c D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test_min.cpp -o D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test_min.o 2> D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\gcc_err2.txt && echo SUCCESS || echo FAILED\")",
"Bash(cmd //c \"C:\\\\msys64\\\\ucrt64\\\\bin\\\\g++.exe --version 2>&1\")",
"Bash(cmd //c \"echo int main\\(\\){} > D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test_min.cpp && C:\\\\msys64\\\\ucrt64\\\\bin\\\\g++.exe -std=c++17 -fsyntax-only D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test_min.cpp 2>&1 && echo SUCCESS || echo FAILED\")",
"Bash(cmd //c \"C:\\\\msys64\\\\ucrt64\\\\bin\\\\g++.exe -std=c++17 -fsyntax-only D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test_min.cpp 2>&1\")",
"Bash(cmd //c \"type D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test_min.cpp\")",
"Bash(cmd //c \"C:\\\\msys64\\\\ucrt64\\\\bin\\\\g++.exe -v -std=c++17 -fsyntax-only D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test_min.cpp 2>&1\")",
"Bash(cmd //c \"C:\\\\msys64\\\\ucrt64\\\\bin\\\\g++.exe -std=c++17 -c D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test_min.cpp -o D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test_min.o 2>&1 && echo SUCCESS || echo FAILED\")",
"Bash(cmd //c \"C:\\\\msys64\\\\ucrt64\\\\bin\\\\g++.exe -v -std=c++17 -c D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test_min.cpp -o D:\\\\boost\\\\libs\\\\openmethod\\\\build\\\\test_min.o 2>&1\")",
"Read(//d/boost/libs/dll/test/**)",
"Bash(ls -la d:/boost/libs/openmethod/build/doc/modules/ROOT/examples/shared_libs/boost_openmethod-dynamic.exe d:/boost/libs/openmethod/build/doc/modules/ROOT/examples/shared_libs/*shared*)"
],
"additionalDirectories": [
"\\tmp"
]
}
}
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
uses: boostorg/boost-ci/.github/workflows/reusable.yml@master
with:
exclude_cxxstd: '98,03,0x,11,14'
exclude_compiler: gcc-4.9,gcc-5,gcc-6,gcc-7,clang-3.9,clang-4.0,clang-5.0,clang-6.0,clang-7,clang-16
exclude_compiler: gcc-4.9,gcc-5,gcc-6,gcc-7,gcc-8,gcc-9,clang-3.9,clang-4.0,clang-5.0,clang-6.0,clang-7,clang-16
# exclude clang-16 because it seems to use the c++14 standard library on ubuntu-24.04:
# include/c++/14/bits/stl_pair.h:410:35: error: no matching function for call to 'get'
# maybe similar to this: https://github.com/actions/runner-images/issues/9679
Expand Down
Loading
Loading