aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@adacore.com>2023-06-28 01:36:52 -0300
committerMarc Poulhiès <poulhies@adacore.com>2023-07-18 15:11:46 +0200
commit79cc2a75680ebcf8e9e200ddfbd61bd3ef08798a (patch)
treecef1f106b3fbefb1f48ff10e9f070f0a5bf5edf2 /libgcc
parent22b13ca246cbef5c7ad5b9cd5eef5cb238494c5a (diff)
downloadgcc-79cc2a75680ebcf8e9e200ddfbd61bd3ef08798a.zip
gcc-79cc2a75680ebcf8e9e200ddfbd61bd3ef08798a.tar.gz
gcc-79cc2a75680ebcf8e9e200ddfbd61bd3ef08798a.tar.bz2
ada: Expose expected_throw attribute
Mark exception-raising subprograms with expected_throw attribute. Document the use of the attribute in Control Flow Redundancy. Enable marking subprograms as expected_throw with Machine_Attribute pragmas. gcc/ada/ * libgnat/a-except.ads (Raise_Exception): Mark expected_throw. (Reraise_Occurrence): Likewise. (Raise_Exception_Always): Likewise. (Raise_From_Controlled_Operation): Likewise. (Reraise_Occurrence_Always): Likewise. (Reraise_Occurrence_No_Defer): Likewise. * libgnat/a-except.adb (Exception_Propagation.Propagate_Exception): Likewise. (Complete_And_Propagate_Occurrence): Likewise. (Raise_Exception_No_Defer): Likewise. (Raise_From_Signal_Handler): Likewise. (Raise_With_Msg): Likewise. (Raise_With_Location_And_Msg): Likewise. (Raise_Constraint_Error): Likewise. (Raise_Constraint_Error_Msg): Likewise. (Raise_Program_Error): Likewise. (Raise_Program_Error_Msg): Likewise. (Raise_Storage_Error): Likewise. (Raise_Storage_Error_Msg): Likewise. (Reraise, Rcheck_*): Likewise. * doc/gnat_rm/security_hardening_features.rst (Control Flow Hardening): Note the influence of expected_throw. * gnat_rm.texi: Regenerate. * gnat_ugn.texi: Regenerate. * gcc-interface/utils.cc (handle_expected_throw_attribute): New. (gnat_internal_attribute_table): Add expected_throw.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions