diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f00c388b..a9f88a23 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,41 +33,6 @@ jobs: fail-fast: false matrix: include: - - toolset: gcc-5 - cxxstd: "03,11,14,1z" - address_model: 32,64 - os: ubuntu-latest - container: ubuntu:16.04 - install: - - g++-5-multilib - - toolset: gcc-5 - cxxstd: "03-gnu,11-gnu,14-gnu,1z-gnu" - address_model: 32,64 - os: ubuntu-latest - container: ubuntu:16.04 - install: - - g++-5-multilib - - toolset: gcc-6 - cxxstd: "03,11,14,1z" - address_model: 32,64 - os: ubuntu-latest - container: ubuntu:18.04 - install: - - g++-6-multilib - - toolset: gcc-7 - cxxstd: "03,11,14,17" - address_model: 32,64 - os: ubuntu-latest - container: ubuntu:18.04 - install: - - g++-7-multilib - - toolset: gcc-8 - cxxstd: "03,11,14,17,2a" - address_model: 32,64 - os: ubuntu-latest - container: ubuntu:18.04 - install: - - g++-8-multilib - toolset: gcc-9 cxxstd: "03,11,14,17,2a" address_model: 32,64 @@ -128,58 +93,6 @@ jobs: cxxflags: -fexcess-precision=fast # Linux, clang - - toolset: clang - compiler: clang++-3.8 - cxxstd: "03,11,14" - os: ubuntu-latest - container: ubuntu:16.04 - install: - - clang-3.8 - - toolset: clang - compiler: clang++-3.9 - cxxstd: "03,11,14" - os: ubuntu-latest - container: ubuntu:18.04 - install: - - clang-3.9 - - toolset: clang - compiler: clang++-4.0 - cxxstd: "03,11,14" - os: ubuntu-latest - container: ubuntu:18.04 - install: - - clang-4.0 - - toolset: clang - compiler: clang++-5.0 - cxxstd: "03,11,14,1z" - os: ubuntu-latest - container: ubuntu:18.04 - install: - - clang-5.0 - - toolset: clang - compiler: clang++-6.0 - cxxstd: "03,11,14,17" - os: ubuntu-latest - container: ubuntu:18.04 - install: - - clang-6.0 - - toolset: clang - compiler: clang++-7 - cxxstd: "03,11,14,17" - os: ubuntu-latest - container: ubuntu:18.04 - install: - - clang-7 - # Note: clang-8 does not fully support C++20, so it is not compatible with libstdc++-8 in this mode - - toolset: clang - compiler: clang++-8 - cxxstd: "03,11,14,17,2a" - os: ubuntu-latest - container: ubuntu:18.04 - install: - - clang-8 - - g++-7 - gcc_toolchain: 7 - toolset: clang compiler: clang++-9 cxxstd: "03,11,14,17,2a" @@ -334,7 +247,7 @@ jobs: fi fi git config --global pack.threads 0 - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install packages if: matrix.install @@ -529,7 +442,7 @@ jobs: runs-on: ${{matrix.os}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Setup Boost shell: cmd @@ -776,7 +689,7 @@ jobs: runs-on: ubuntu-24.04 steps: - - uses: Jimver/cuda-toolkit@v0.2.25 + - uses: Jimver/cuda-toolkit@v0.2.35 id: cuda-toolkit with: cuda: '12.8.0' @@ -788,7 +701,7 @@ jobs: echo "Installed cuda version is: ${{steps.cuda-toolkit.outputs.cuda}}"+ echo "Cuda install location: ${{steps.cuda-toolkit.outputs.CUDA_PATH}}" nvcc -V - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install Packages run: | diff --git a/include/boost/charconv/detail/config.hpp b/include/boost/charconv/detail/config.hpp index d4cba2cc..3ed01d75 100644 --- a/include/boost/charconv/detail/config.hpp +++ b/include/boost/charconv/detail/config.hpp @@ -197,7 +197,11 @@ static_assert((BOOST_CHARCONV_ENDIAN_BIG_BYTE || BOOST_CHARCONV_ENDIAN_LITTLE_BY #define BOOST_CHARCONV_LDBL_IS_FLOAT128 #define BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE +// This identity holds only on GCC. clang keeps long double and __float128 as distinct types +// even when both are IEEE binary128, and does not expose __float128 without -mfloat128. +#if defined(__GNUC__) && !defined(__clang__) static_assert(std::is_same::value, "__float128 should be an alias to long double. Please open an issue at: https://github.com/boostorg/charconv"); +#endif #endif