boostorg / boostorg/program_options
Compilation failure with Clang 17 and `-std=cpp23`
- Dominant language
- C++
- Stars
- 136
- Forks
- 117
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Including `` causes a compilation failure when compiling with clang 17.0.6 and GNU stdlibc++ 14 with `-std=gnu++23`
## Steps to reproduce
Install boost (a conanfile is provided) and extract the attached archive.
[boost-po-test.tar.gz](https://github.com/user-attachments/files/15748101/boost-po-test.tar.gz)
```
tar -xf boost-po-test-tgz
cd boost-po-test/
cmake --preset default
cmake --build build/default
```
## Expected result
compilation is successful
## Actual result
compilation fails with
```
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1/tuple:956:36: error: no matching function for call to 'get'
956 | return __convertible(std::declval<_UTuple>()))...>();
```
## Workaround
Edit the `CMakeLists.txt` file and change
```
set(CMAKE_CXX_STANDARD 23)
```
to
```
set(CMAKE_CXX_STANDARD 20)
```
and recompile.
## System Info
Boost 1.85.0 (conan)
Arch Linux
Clang 17.0.6
GCC 14.1.1
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.