diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-08-02 16:50:56 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-08-02 16:50:56 +0200 |
commit | e8374e7af37c56a79c8d28b0f7367bcc5a4d6707 (patch) | |
tree | a1b06e4ed6a4b1f7880a8bfe87725096075bfc2f /gcc/ada/sem_res.adb | |
parent | 1f6439e34bc08817b3a82b893810e14283fe280e (diff) | |
download | gcc-e8374e7af37c56a79c8d28b0f7367bcc5a4d6707.zip gcc-e8374e7af37c56a79c8d28b0f7367bcc5a4d6707.tar.gz gcc-e8374e7af37c56a79c8d28b0f7367bcc5a4d6707.tar.bz2 |
[multiple changes]
2011-08-02 Robert Dewar <dewar@adacore.com>
* sem_res.adb: Minor reformatting.
* sem_prag.adb: Minor reformatting.
2011-08-02 Javier Miranda <miranda@adacore.com>
* exp_atag.adb, exp_atags.ads
(Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
by the tagged type Entity. Required to use this routine in the VM
targets since we do not have available the Tag entity in the VM
platforms.
* exp_ch6.adb
(Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
Ada.Tags has not been previously loaded.
* exp_ch7.adb
(Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
Build_VM_TSDs if package Ada.Tags has not been previously loaded.
* sem_aux.adb
(Enclosing_Dynamic_Scope): Add missing support to handle the full
view of enclosing scopes. Required to handle enclosing scopes that
are synchronized types whose full view is a task type.
* exp_disp.adb
(Build_VM_TSDs): Minor code improvement to avoid generating and
analyzing lists with empty nodes.
(Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
(Make_Disp_Conditional_Select_Body): Add support for VM targets.
(Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
(Make_Disp_Timed_Select_Body): Add support for VM targets.
(Make_Select_Specific_Data_Table): Add support for VM targets.
(Make_VM_TSD): Generate code to initialize the SSD structure of
the TSD.
2011-08-02 Yannick Moy <moy@adacore.com>
* lib-writ.adb (Write_ALI): when ALFA mode is set, write local
cross-references section in ALI.
* lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
(enclosing subprogram), Slc (location of Sub) and Sun (unit number of
Sub).
(Enclosing_Subprogram_Or_Package): new function to return the enclosing
subprogram or package entity of a node
(Is_Local_Reference_Type): new function returns True for references
selected in local cross-references.
(Lt): function extracted from Lt in Output_References
(Write_Entity_Name): function extracted from Output_References
(Generate_Definition): generate reference with type 'D' for definition
of objects (object declaration and parameter specification), with
appropriate locations and units, for use in local cross-references.
(Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
references of type 'I' for initialization in object definition.
(Output_References): move part of function Lt and procedure
Write_Entity_Name outside of the body. Ignore references of types 'D'
and 'I' introduced for local cross-references.
(Output_Local_References): new procedure to output the local
cross-references sections.
(Lref_Entity_Status): new array defining whether an entity is a local
* sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
with 'I' type when initialization expression is present.
* get_scos.adb, get_scos.ads: Correct comments and typos
From-SVN: r177168
Diffstat (limited to 'gcc/ada/sem_res.adb')
-rw-r--r-- | gcc/ada/sem_res.adb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index f8e19a1..ef406e1 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -5751,9 +5751,9 @@ package body Sem_Res is -- Check_Formal_Restriction ("function not inherited", N); -- end if; - -- Implement rule in 12.5.1 (23.3/2) : in an instance, if the actual - -- is class-wide and the call dispatches on result in a context that - -- does not provide a tag, the call raises Program_Error. + -- Implement rule in 12.5.1 (23.3/2): In an instance, if the actual is + -- class-wide and the call dispatches on result in a context that does + -- not provide a tag, the call raises Program_Error. if Nkind (N) = N_Function_Call and then In_Instance @@ -5762,11 +5762,10 @@ package body Sem_Res is and then Has_Controlling_Result (Nam) and then Nkind (Parent (N)) = N_Object_Declaration then - - -- verify that none of the formals are controlling. + -- Verify that none of the formals are controlling declare - Call_OK : Boolean := False; + Call_OK : Boolean := False; F : Entity_Id; begin @@ -5776,6 +5775,7 @@ package body Sem_Res is Call_OK := True; exit; end if; + Next_Formal (F); end loop; |