Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
66 changes: 63 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,14 @@ jobs:
os: ubuntu-latest
install: g++-15-multilib
address-model: 32,64
- toolset: gcc-13
cxxstd: "11,14,17,20,2b"
instruction-set: core2
cpu-requirements: [ ssse3 ]
os: ubuntu-latest
container: ubuntu:24.04
install: g++-13-multilib
address-model: 32,64
- toolset: gcc-13
cxxstd: "11,14,17,20,2b"
instruction-set: nehalem
Expand All @@ -100,6 +108,14 @@ jobs:
container: ubuntu:24.04
install: g++-13-multilib
address-model: 32,64
- toolset: gcc-13
cxxstd: "11,14,17,20,2b"
instruction-set: sandy-bridge
cpu-requirements: [ avx ]
os: ubuntu-latest
container: ubuntu:24.04
install: g++-13-multilib
address-model: 32,64
- toolset: gcc-13
cxxstd: "11,14,17,20,2b"
instruction-set: haswell
Expand All @@ -124,6 +140,16 @@ jobs:
container: ubuntu:24.04
install: g++-13-multilib
address-model: 32,64
# Experimental features
- toolset: gcc-13
cxxstd: "11,14,17,20,2b"
instruction-set: rocketlake
cpu-requirements: [ avx512f, avx512cd, avx512vl, avx512dq, avx512bw, avx512vbmi, avx512_vbmi2, avx512_bitalg, bmi1, bmi2 ]
defines: [ BOOST_UUID_TO_FROM_CHARS_X86_USE_ZMM, BOOST_UUID_FROM_CHARS_X86_USE_VPERMI2B ]
os: ubuntu-latest
container: ubuntu:24.04
install: g++-13-multilib
address-model: 32,64
- toolset: clang
compiler: clang++-3.9
cxxstd: "11,14"
Expand Down Expand Up @@ -238,6 +264,14 @@ jobs:
container: ubuntu:25.10
os: ubuntu-latest
install: clang-21
- toolset: clang
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
instruction-set: core2
cpu-requirements: [ ssse3 ]
container: ubuntu:24.04
os: ubuntu-latest
install: clang-17
- toolset: clang
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
Expand All @@ -246,6 +280,14 @@ jobs:
container: ubuntu:24.04
os: ubuntu-latest
install: clang-17
- toolset: clang
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
instruction-set: sandy-bridge
cpu-requirements: [ avx ]
container: ubuntu:24.04
os: ubuntu-latest
install: clang-17
- toolset: clang
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
Expand All @@ -270,6 +312,16 @@ jobs:
container: ubuntu:24.04
os: ubuntu-latest
install: clang-17
# Experimental features
- toolset: clang
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
instruction-set: rocketlake
cpu-requirements: [ avx512f, avx512cd, avx512vl, avx512dq, avx512bw, avx512vbmi, avx512_vbmi2, avx512_bitalg, bmi1, bmi2 ]
defines: [ BOOST_UUID_TO_FROM_CHARS_X86_USE_ZMM, BOOST_UUID_FROM_CHARS_X86_USE_VPERMI2B ]
container: ubuntu:24.04
os: ubuntu-latest
install: clang-17
- toolset: clang
os: macos-14
cxxstd: "11,14,17,20,2b"
Expand Down Expand Up @@ -346,6 +398,7 @@ jobs:
cd ../boost-root
ADDRMD=${{matrix.address-model}}
INSTRUCTION_SET=${{matrix.instruction-set}}
b2_args=(-j2 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} ${ADDRMD:+address-model=$ADDRMD} ${INSTRUCTION_SET:+instruction-set=$INSTRUCTION_SET} variant=debug,release)
if [ -n "${{matrix.cpu-requirements}}" ]
then
cpu_flags="$(lscpu | grep -F "Flags:" | sed "s/^Flags:\\s*//")";
Expand All @@ -355,12 +408,19 @@ jobs:
if ! [[ "$cpu_flags" =~ $re ]]
then
echo "CPU lacks required feature: $requirement"
echo "Skipping testing"
exit 0
echo "Skipping running tests"
export BOOST_UUID_SKIP_RUNNING_TESTS=1
fi
done
fi
./b2 -j2 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} ${ADDRMD:+address-model=$ADDRMD} ${INSTRUCTION_SET:+instruction-set=$INSTRUCTION_SET} variant=debug,release
if [ -n "${{matrix.defines}}" ]
then
for define in ${{join(matrix.defines, ' ')}}
do
b2_args+=("define=$define")
done
fi
./b2 "${b2_args[@]}"

windows:
strategy:
Expand Down
4 changes: 2 additions & 2 deletions include/boost/uuid/detail/from_chars.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include <boost/uuid/detail/config.hpp>
#include <boost/uuid/detail/is_constant_evaluated.hpp>

#if defined(BOOST_UUID_USE_SSE41)
#if defined(BOOST_UUID_USE_SSE2)
# include <boost/uuid/detail/from_chars_x86.hpp>

#elif defined(BOOST_UUID_REPORT_IMPLEMENTATION)
Expand All @@ -27,7 +27,7 @@ template<class Ch>
BOOST_UUID_CXX14_CONSTEXPR_RT inline
from_chars_result<Ch> from_chars( Ch const* first, Ch const* last, uuid& u ) noexcept
{
#if defined(BOOST_UUID_USE_SSE41)
#if defined(BOOST_UUID_USE_SSE2)
if( detail::is_constant_evaluated_rt() )
{
return detail::from_chars_generic( first, last, u );
Expand Down
Loading