From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2140) id 4ADD43858437; Tue, 25 Oct 2022 02:51:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4ADD43858437 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1666666305; bh=sfTwSCI3+hwN40jTgBfsCBp0JvxSKthWQz7o1Z8YhD4=; h=From:To:Subject:Date:From; b=RC8AHoYxuo8Iuj5LtWWQAsCAxgchoVCKQV2URZPrzrB4rioJk8t4e0B6JXhcYcb1i WsgCFpcJ97FtAUNRqAb3p7S9bOrjWsbajUrV54o2xFZEHtIAYmbJheX3xQM7Fjp8OM ISlAtgPKZ4OwbD7YKPcwbzRjBXsnCxy2mdsXPiCg= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Alexandre Oliva To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/aoliva/heads/testme)] hardcfr: mark throw-expected functions [ada doc] X-Act-Checkin: gcc X-Git-Author: Alexandre Oliva X-Git-Refname: refs/users/aoliva/heads/testme X-Git-Oldrev: c5efc3d0255a49f7ba43060dce55ee716eaaf311 X-Git-Newrev: 88e125dba0d20cae1a8b2d59d0c467c56cfb11c2 Message-Id: <20221025025145.4ADD43858437@sourceware.org> Date: Tue, 25 Oct 2022 02:51:45 +0000 (GMT) List-Id: https://gcc.gnu.org/g:88e125dba0d20cae1a8b2d59d0c467c56cfb11c2 commit 88e125dba0d20cae1a8b2d59d0c467c56cfb11c2 Author: Alexandre Oliva Date: Wed Oct 19 20:36:19 2022 -0300 hardcfr: mark throw-expected functions [ada doc] Adjust documentation to reflect the introduction of -fhardcfr-check-noreturn-calls=not-always. for gcc/ada/ChangeLog * doc/gnat_rm/security_hardening_features.rst (Control Flow Redundancy): Add -fhardcfr-check-noreturn-calls=not-always. Diff: --- gcc/ada/doc/gnat_rm/security_hardening_features.rst | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/gcc/ada/doc/gnat_rm/security_hardening_features.rst b/gcc/ada/doc/gnat_rm/security_hardening_features.rst index 08cfaaf0f79..80c80cdc805 100644 --- a/gcc/ada/doc/gnat_rm/security_hardening_features.rst +++ b/gcc/ada/doc/gnat_rm/security_hardening_features.rst @@ -487,17 +487,18 @@ gets modified as follows: end; -Verification may also be performed before No_Return calls, whether -only nothrow ones, with -:switch:`-fhardcfr-check-noreturn-calls=nothrow`, or all of them, with -:switch:`-fhardcfr-check-noreturn-calls=always`. The default is -:switch:`-fhardcfr-check-noreturn-calls=never` for this feature, that -disables checking before No_Return calls. +Verification may also be performed before No_Return calls, whether all +of them, with :switch:`-fhardcfr-check-noreturn-calls=always`; all but +internal subprograms involved in exception-raising or -reraising, with +:switch:`-fhardcfr-check-noreturn-calls=not-always` (default); only +nothrow ones, with :switch:`-fhardcfr-check-noreturn-calls=nothrow`; +or none, with :switch:`-fhardcfr-check-noreturn-calls=never`. When a No_Return call returns control to its caller through an exception, verification may have already been performed before the -call, if :switch:`-fhardcfr-check-noreturn-calls=always` is in effect. -The compiler arranges for already-checked No_Return calls without a +call, if :switch:`-fhardcfr-check-noreturn-calls=always` or +:switch:`-fhardcfr-check-noreturn-calls=not-always` is in effect. The +compiler arranges for already-checked No_Return calls without a preexisting handler to bypass the implicitly-added cleanup handler and thus the redundant check, but a local exception or cleanup handler, if present, will modify the set of visited blocks, and checking will take