-
- Downloads
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.
Showing
- gcc/ada/doc/gnat_rm/security_hardening_features.rst 3 additions, 1 deletiongcc/ada/doc/gnat_rm/security_hardening_features.rst
- gcc/ada/gcc-interface/utils.cc 19 additions, 0 deletionsgcc/ada/gcc-interface/utils.cc
- gcc/ada/gnat_rm.texi 4 additions, 2 deletionsgcc/ada/gnat_rm.texi
- gcc/ada/gnat_ugn.texi 2 additions, 2 deletionsgcc/ada/gnat_ugn.texi
- gcc/ada/libgnat/a-except.adb 104 additions, 0 deletionsgcc/ada/libgnat/a-except.adb
- gcc/ada/libgnat/a-except.ads 14 additions, 0 deletionsgcc/ada/libgnat/a-except.ads
Loading
Please register or sign in to comment