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.

Jason

Reply via email to