Boost logo

Boost :

From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2024-04-07 21:11:51


On 4/7/24 20:39, Marshall Clow via Boost wrote:
>> On Apr 6, 2024, at 10:35 PM, Marshall Clow <mclow.lists_at_[hidden]> wrote:
>>
>>> On Apr 6, 2024, at 12:57 PM, Ruben Perez <rubenperez038_at_[hidden]> 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 <ed_at_[hidden]>
> 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 <edward.catmur_at_[hidden]>

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/1d7cceff6c8a5d40593776d7578a984852df5b75
>
> 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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk