On 7/16/24 11:26 AM, Nina Dinka Ranns wrote:
On Tue, 16 Jul 2024 at 15:55, Jason Merrill <ja...@redhat.com
<mailto:ja...@redhat.com>> wrote:
On 7/16/24 5:03 AM, Nina Dinka Ranns wrote:
> Hello,
>
> We currently only initialise terminate_fn if exceptions are enabled.
> However, contract handling requires terminate_fn when building the
> contract as a contract failure may result in std::terminate call
> regardless of whether the exceptions are enabled. Added possible
> initialisation of terminate_fn if contracts are enabled. Minor
refactoring
> of the init_exception_processing to reuse the terminate_fn
initialisation.
>
> Tested on x86_64-pc-linux-gnu.
>
> Patch attached to the email in hope of it being a
workable solution for
> my email client.
>
> "OK for trunk?" :)
git gcc-style:
=== ERROR type #1: dot, space, space, end of comment (1 error(s)) ===
gcc/cp/except.cc:46:33: handling and contract handling.█*/
=== ERROR type #2: there should be exactly one space between function
name and parenthesis (3 error(s)) ===
gcc/cp/cp-tree.h:7197:31:extern void init_terminate_fn (void);
gcc/cp/decl.cc:5176:21: init_terminate_fn();
gcc/cp/except.cc:76:19: init_terminate_fn();
Note that gcc-style has frequent false positives, such as the cp-tree.h
"error" which is actually fine. But the others should be corrected.
Applied all the changes except the `gcc/cp/cp-tree.h:7197:31` one
New patch attached.
Pushed, thanks.
Jason