If exceptions aren't propagated, the optimized path of
Exp_Ch9.Build_Protected_Subprogram_Body could be used.

No functional change, so no testcase.

Tested on x86_64-pc-linux-gnu, committed on trunk

2014-01-29  Tristan Gingold  <ging...@adacore.com>

        * exp_ch9.adb (Is_Exception_Safe): Return true if no exceptions.

Index: exp_ch9.adb
===================================================================
--- exp_ch9.adb (revision 207243)
+++ exp_ch9.adb (working copy)
@@ -13425,6 +13425,14 @@
    --  Start of processing for Is_Exception_Safe
 
    begin
+
+      --  When exceptions can not be propagated, the subprogram will always
+      --  return normaly.
+
+      if No_Exception_Handlers_Set then
+         return True;
+      end if;
+
       --  If the checks handled by the back end are not disabled, we cannot
       --  ensure that no exception will be raised.
 

Reply via email to