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

Alexandre Oliva aoliva@gcc.gnu.org
Fri Jun 9 06:16:42 GMT 2023


https://gcc.gnu.org/g:60f645153bff211091dd5ede48b010f604029fa0

commit 60f645153bff211091dd5ede48b010f604029fa0
Author: Alexandre Oliva <oliva@adacore.com>
Date:   Thu Jun 8 01:35:05 2023 -0300

    hardcfr: mark throw-expected functions [ada/gcc-interface]
    
    Mark exception-(re)raising builtin declarations with ECF_THROW.
    
    
    for  gcc/ada/gcc-interface/ChangeLog
    
            * trans.cc (gigi): Mark __gnat_reraise_zcx with ECF_THROW.
            (build_raise_check): Likewise for all rcheck subprograms.

Diff:
---
 gcc/ada/gcc-interface/trans.cc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/ada/gcc-interface/trans.cc b/gcc/ada/gcc-interface/trans.cc
index 5fc1a26fede..64bdf3ca8d2 100644
--- a/gcc/ada/gcc-interface/trans.cc
+++ b/gcc/ada/gcc-interface/trans.cc
@@ -513,6 +513,7 @@ gigi (Node_Id gnat_root,
 			   ftype, NULL_TREE,
 			   is_default, true, true, true, false, false, NULL,
 			   Empty);
+  set_call_expr_flags (reraise_zcx_decl, ECF_NORETURN | ECF_THROW);
 
   /* Dummy objects to materialize "others" and "all others" in the exception
      tables.  These are exported by a-exexpr-gcc.adb, so see this unit for
@@ -715,6 +716,7 @@ build_raise_check (int check, enum exception_info_kind kind)
     = create_subprog_decl (get_identifier (Name_Buffer), NULL_TREE, ftype,
 			   NULL_TREE, is_default, true, true, true, false,
 			   false, NULL, Empty);
+  set_call_expr_flags (result, ECF_NORETURN | ECF_THROW);
 
   return result;
 }


More information about the Gcc-cvs mailing list