On 4/7/24 20:39, Marshall Clow via Boost wrote:
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
Date: Thu Feb 23 11:39:17 2023 +0000 Use BOOST_DEFAULTED_FUNCTION on empty destructors (#122)
The compiler-generated copy constructor and copy assignment operator are deprecated since C++11 on classes with user-declared destructors.
This change allows clean compilation with the -Wdeprecated-copy-dtor/-Wdeprecated-copy-with-user-provided-dtor flag.
Co-authored-by: Ed Catmur
No, the problem existed before that. The problem is in the `throw()` specifications, which existed before the commit you referenced. I think, it was at least partly introduced by fd7b310993133fd280f4967bc3a30da7ab3dddee. In fact, at that point it was not a problem because at that time C++20 did not exist yet and `throw()` specifications were fine.
And it looks like it has been fixed in develop:
https://github.com/boostorg/program_options/commit/1d7cceff6c8a5d40593776d75...
Is that correct?
Yes, this commit should fix the problem. I will leave it to Peter to ask for the permission to merge it, if he considers it important enough.