diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-04-15 12:46:56 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-04-15 12:46:56 +0200 |
commit | 1f6821b4dcdcc3bf95f6aa4551cc755e113162be (patch) | |
tree | 10bddee8ce636cf702726cb420bef283041bab7d /gcc/ada/frontend.adb | |
parent | 507ed3fd5bb9f377bade052259a61d53d3a7bedc (diff) | |
download | gcc-1f6821b4dcdcc3bf95f6aa4551cc755e113162be.zip gcc-1f6821b4dcdcc3bf95f6aa4551cc755e113162be.tar.gz gcc-1f6821b4dcdcc3bf95f6aa4551cc755e113162be.tar.bz2 |
[multiple changes]
2009-04-15 Robert Dewar <dewar@adacore.com>
* frontend.adb (Frontend): Set proper default for
Warn_On_Non_Local_Exception.
* opt.ads (Exception_Handler_Encountered): New flag
(No_Warn_On_Non_Local_Exception): New flag
* par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
* sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
(Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
2009-04-15 Cyrille Comar <comar@adacore.com>
* s-tassta.adb, a-exextr.adb, a-elchha.adb
(Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
message when exception traces are active since it would generate
redundant information.
(Exception_Traces.Notify_Exception): put message output by a critical
section to avoid unsynchronized output.
(Trace_Unhandled_Exception_In_Task): put message output by a critical
section to avoid unsynchronized output.
2009-04-15 Emmanuel Briot <briot@adacore.com>
* g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
(Free): New subprogram.
From-SVN: r146100
Diffstat (limited to 'gcc/ada/frontend.adb')
-rw-r--r-- | gcc/ada/frontend.adb | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/gcc/ada/frontend.adb b/gcc/ada/frontend.adb index 8f16a11..5fd2822 100644 --- a/gcc/ada/frontend.adb +++ b/gcc/ada/frontend.adb @@ -43,6 +43,8 @@ with Opt; use Opt; with Osint; with Par; with Prepcomp; +with Restrict; use Restrict; +with Rident; use Rident; with Rtsfind; with Sprint; with Scn; use Scn; @@ -64,12 +66,12 @@ procedure Frontend is -- Gather configuration pragmas begin - -- Carry out package initializations. These are initializations which - -- might logically be performed at elaboration time, were it not for - -- the fact that we may be doing things more than once in the big loop - -- over files. Like elaboration, the order in which these calls are - -- made is in some cases important. For example, Lib cannot be - -- initialized until Namet, since it uses names table entries. + -- Carry out package initializations. These are initializations which might + -- logically be performed at elaboration time, were it not for the fact + -- that we may be doing things more than once in the big loop over files. + -- Like elaboration, the order in which these calls are made is in some + -- cases important. For example, Lib cannot be initialized until Namet, + -- since it uses names table entries. Rtsfind.Initialize; Atree.Initialize; @@ -275,6 +277,17 @@ begin end; end if; + -- If we have restriction No_Exception_Propagation, and we did not have + -- an explicit switch turning off Warn_On_Local_Exception, then turn on + -- this warning by default if we have encountered an exception handler. + + if Restriction_Active (No_Exception_Propagation) + and then not No_Warn_On_Non_Local_Exception + and then Exception_Handler_Encountered + then + Warn_On_Non_Local_Exception := True; + end if; + -- Now on to the semantics. Skip if in syntax only mode if Operating_Mode /= Check_Syntax then |