sem_util.ads, [...] (May_Be_Lvalue): A prefix of an attribute reference acts as an...
authorHristian Kirtchev <kirtchev@adacore.com>
Wed, 6 Jun 2007 10:44:43 +0000 (12:44 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 6 Jun 2007 10:44:43 +0000 (12:44 +0200)
commitf377c995c321326e3ec619bc4aea45fc27ce8281
treedb949ab416509cd19330c3e0ec3476fab527544b
parent495d6dd6da24802c0c1aaacb7ea77fa7ccbf1a20
sem_util.ads, [...] (May_Be_Lvalue): A prefix of an attribute reference acts as an lvalue when...

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

* sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute
reference acts as an lvalue when the attribute name modifies the prefix
(Is_Coextension_Root): New routine.
(Mark_Static_Coextensions): New routine.
(Type_Access_Level): Revise code for checking the level of the
anonymous access type of a return object.
(Safe_To_Capture_Value): Not safe to capture if Address_Taken
(Matches_Prefixed_View_Profile): Remove the no longer necessary
retrieval of the corresponding controlling record type.
(Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of
concurrent types declared within a generic as well as class wide types.
Emit a mode incompatibility error whenever a protected entry or routine
override an interface routine whose first parameter is not of mode
"out", "in out" or access to variable.
(Overrides_Synchronized_Primitive): Rename to
Find_Overridden_Synchronized_Primitive.
(Collect_Interface_Components): New subprogram that collects all the
components of a tagged record containing tags of secondary dispatch
tables.
(Add_Global_Declaration): New procedure
(Abstract_Interface_List): Handle properly the case of a subtype of a
private extension.
(Type_Access_Level): In the case of a type whose parent scope is a
return statement, call Type_Access_Level recursively on the enclosing
function's result type to determine the level of the return object's
type.
(Build_Elaboration_Entity): Build name of elaboration entity from the
scope chain of the entity, rather than the unit name of the file name.
(Check_Nested_Access): New procedure.
(Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
(Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
(Get_Renamed_Entity): Utility routine for performing common operation
of chasing the Renamed_Entity field of an entity.

From-SVN: r125453
gcc/ada/sem_util.adb
gcc/ada/sem_util.ads