On Apr 6, 2024, at 10:35 PM, Marshall Clow
wrote: On Apr 6, 2024, at 12:57 PM, Ruben Perez
wrote: As always, the release managers would appreciate it if you download the candidate of your choice and give building it a try. Please report both success and failure, and anything else that is noteworthy.
Program options seem to fail to build under C++23 (Ubuntu 22.04, clang-19, release). Here's the build log:
Ruben —
Did the 1.85.0 beta have this same problem?
I suspect that the problem was introduced in this commit:
commit 847b130e19a9e5118bfb5486e9b4d4f6ab2797a2
Author: Ed Catmur
Thanks, — Marshall
clang-linux.compile.c++ bin.v2/libs/program_options/build/clang-linux-19/release/cxxstd-23-iso/threading-multi/visibility-hidden/split.o In file included from libs/program_options/src/split.cpp:10: In file included from ./boost/program_options/parsers.hpp:12: In file included from ./boost/program_options/detail/cmdline.hpp:11: ./boost/program_options/errors.hpp:124:34: error: exception specification is not available until end of class definition 124 | BOOST_DEFAULTED_FUNCTION(~error_with_option_name() throw(), {}) | ^ ./boost/program_options/errors.hpp:212:34: error: exception specification is not available until end of class definition 212 | BOOST_DEFAULTED_FUNCTION(~multiple_values() throw(), {}) | ^ ./boost/program_options/errors.hpp:223:34: error: exception specification is not available until end of class definition 223 | BOOST_DEFAULTED_FUNCTION(~multiple_occurrences() throw(), {}) | ^ ./boost/program_options/errors.hpp:236:33: error: exception specification is not available until end of class definition 236 | BOOST_DEFAULTED_FUNCTION(~required_option() throw(), {}) | ^ ./boost/program_options/errors.hpp:261:34: error: exception specification is not available until end of class definition 261 | BOOST_DEFAULTED_FUNCTION(~error_with_no_option_name() throw(), {}) | ^ ./boost/program_options/errors.hpp:273:34: error: exception specification is not available until end of class definition 273 | BOOST_DEFAULTED_FUNCTION(~unknown_option() throw(), {}) | ^ ./boost/program_options/errors.hpp:286:34: error: exception specification is not available until end of class definition 286 | BOOST_DEFAULTED_FUNCTION(~ambiguous_option() throw(), {}) | ^ ./boost/program_options/errors.hpp:323:34: error: exception specification is not available until end of class definition 323 | BOOST_DEFAULTED_FUNCTION(~invalid_syntax() throw(), {}) | ^ ./boost/program_options/errors.hpp:343:34: error: exception specification is not available until end of class definition 343 | BOOST_DEFAULTED_FUNCTION(~invalid_config_file_syntax() throw(), {}) | ^ ./boost/program_options/errors.hpp:358:34: error: exception specification is not available until end of class definition 358 | BOOST_DEFAULTED_FUNCTION(~invalid_command_line_syntax() throw(), {}) | ^ ./boost/program_options/errors.hpp:383:34: error: exception specification is not available until end of class definition 383 | BOOST_DEFAULTED_FUNCTION(~validation_error() throw(), {}) | ^ 11 errors generated.
"clang++-19" -std=c++23 -fvisibility-inlines-hidden -fPIC -m64 -pthread -O3 -Wall -fvisibility=hidden -Wno-inline --target=x86_64-pc-linux -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2/libs/program_options/build/clang-linux-19/release/cxxstd-23-iso/threading-multi/visibility-hidden/split.o" "libs/program_options/src/split.cpp"
The RC builds fine in C++20 (same compiler and system).
-- The Release managers
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost