sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the use of entity...
authorJavier Miranda <miranda@adacore.com>
Wed, 6 Jun 2007 10:42:51 +0000 (12:42 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 6 Jun 2007 10:42:51 +0000 (12:42 +0200)
commit8909e1edc6c67c2946ebf4d2581edd7126e6aa12
tree95320bf40d77c808dfc41813047ea6378aa5413e
parentfcd1d957e582cc441534acf540ba66870abdf30a
sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the use of entity Exception_Occurrence if...

2007-04-20  Javier Miranda  <miranda@adacore.com>
    Hristian Kirtchev  <kirtchev@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the
use of entity Exception_Occurrence if it is not available in the
target run-time.

* sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When
concurrent types are declared within an Ada 2005 generic, build their
corresponding record types since they are needed for overriding-related
semantic checks.
(Analyze_Protected_Type): Rearrange and simplify code for testing that a
protected type does not implement a task interface or a nonlimited
interface.
(Analyze_Task_Type): Rearrange and simplify code for testing that a task
type does not implement a protected interface or a nonlimited interface.
(Single_Task_Declaration, Single_Protected_Declaration): use original
entity for variable declaration, to ensure that debugging information
is correcty generated.
(Analyze_Protected_Type, Analyze_Task_Type): Do not call expander
routines if the expander is not active.
(Analyze_Task_Body): Mark all handlers to stop optimization of local
raise, since special things happen for task exception handlers.

* sem_disp.adb (Check_Controlling_Formals): Add type retrieval for
concurrent types declared within a generic.
(Check_Dispatching_Operation): Do not emit warning about late interface
operations in the context of an instance.
(Check_Dispatching_Call): Remove restriction against calling a
dispatching operation with a limited controlling result.
(Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and
Register_Interface_DT_Entry by calls to Register_Primitive.
(Check_Dispatching_Formals): Handle properly a function with a
controlling access result.

From-SVN: r125448
gcc/ada/sem_ch11.adb
gcc/ada/sem_ch9.adb
gcc/ada/sem_disp.adb