[gcc(refs/users/aoliva/heads/testme)] hardcfr: mark throw-expected functions [ada doc]

Alexandre Oliva aoliva@gcc.gnu.org
Thu Jun 8 10:42:42 GMT 2023


https://gcc.gnu.org/g:abc12dfe9a1291511701627ba195de35f4c85fb2

commit abc12dfe9a1291511701627ba195de35f4c85fb2
Author: Alexandre Oliva <oliva@adacore.com>
Date:   Thu Jun 8 01:35:02 2023 -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 ad165cd6849..1cbd7fd6705 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


More information about the Gcc-cvs mailing list