mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-24 16:30:53 +08:00
sem_aggr.adb: Minor comments editing
2009-07-10 Thomas Quinot <quinot@adacore.com> * sem_aggr.adb: Minor comments editing * exp_tss.adb, exp_ch3.adb: Minor reformatting From-SVN: r149473
This commit is contained in:
parent
9304142e10
commit
2be0bff8f1
@ -1,3 +1,9 @@
|
||||
2009-07-10 Thomas Quinot <quinot@adacore.com>
|
||||
|
||||
* sem_aggr.adb: Minor comments editing
|
||||
|
||||
* exp_tss.adb, exp_ch3.adb: Minor reformatting
|
||||
|
||||
2009-07-10 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* exp_util.adb: Minor code reorganization (use N_Short_Circuit)
|
||||
|
@ -2622,13 +2622,15 @@ package body Exp_Ch3 is
|
||||
Stmts :=
|
||||
Build_Initialization_Call
|
||||
(Loc,
|
||||
Make_Selected_Component (Loc,
|
||||
Prefix => Make_Identifier (Loc, Name_uInit),
|
||||
Selector_Name => New_Occurrence_Of (Id, Loc)),
|
||||
Typ,
|
||||
In_Init_Proc => True,
|
||||
Enclos_Type => Rec_Type,
|
||||
Discr_Map => Discr_Map,
|
||||
Id_Ref =>
|
||||
Make_Selected_Component (Loc,
|
||||
Prefix =>
|
||||
Make_Identifier (Loc, Name_uInit),
|
||||
Selector_Name => New_Occurrence_Of (Id, Loc)),
|
||||
Typ => Typ,
|
||||
In_Init_Proc => True,
|
||||
Enclos_Type => Rec_Type,
|
||||
Discr_Map => Discr_Map,
|
||||
Constructor_Ref => Expression (Decl));
|
||||
else
|
||||
Stmts := Build_Assignment (Id, Expression (Decl));
|
||||
@ -2642,13 +2644,14 @@ package body Exp_Ch3 is
|
||||
Stmts :=
|
||||
Build_Initialization_Call
|
||||
(Loc,
|
||||
Make_Selected_Component (Loc,
|
||||
Prefix => Make_Identifier (Loc, Name_uInit),
|
||||
Selector_Name => New_Occurrence_Of (Id, Loc)),
|
||||
Typ,
|
||||
Id_Ref =>
|
||||
Make_Selected_Component (Loc,
|
||||
Prefix => Make_Identifier (Loc, Name_uInit),
|
||||
Selector_Name => New_Occurrence_Of (Id, Loc)),
|
||||
Typ => Typ,
|
||||
In_Init_Proc => True,
|
||||
Enclos_Type => Rec_Type,
|
||||
Discr_Map => Discr_Map);
|
||||
Enclos_Type => Rec_Type,
|
||||
Discr_Map => Discr_Map);
|
||||
|
||||
Clean_Task_Names (Typ, Proc_Id);
|
||||
|
||||
@ -5704,9 +5707,7 @@ package body Exp_Ch3 is
|
||||
|
||||
-- Handle constructors of non-tagged CPP_Class types
|
||||
|
||||
if not Is_Tagged_Type (Def_Id)
|
||||
and then Is_CPP_Class (Def_Id)
|
||||
then
|
||||
if not Is_Tagged_Type (Def_Id) and then Is_CPP_Class (Def_Id) then
|
||||
Set_CPP_Constructors (Def_Id);
|
||||
end if;
|
||||
|
||||
|
@ -212,9 +212,8 @@ package body Exp_Tss is
|
||||
if not Is_CPP_Class (Typ) then
|
||||
return Node (Elmt);
|
||||
|
||||
-- In case of CPP classes we are searching here for the
|
||||
-- default constructor and hence we must skip non-default
|
||||
-- constructors (if any)
|
||||
-- For CPP classes, we are looking for the default constructor,
|
||||
-- and so we must skip any non-default constructor.
|
||||
|
||||
elsif
|
||||
No (Next
|
||||
@ -228,13 +227,13 @@ package body Exp_Tss is
|
||||
Next_Elmt (Elmt);
|
||||
end loop;
|
||||
|
||||
-- Non-default constructors are currently supported only in the
|
||||
-- context of interfacing with C++
|
||||
-- Non-default constructors are currently supported only in the context
|
||||
-- of interfacing with C++.
|
||||
|
||||
else pragma Assert (Is_CPP_Class (Typ));
|
||||
|
||||
-- Use the referenced function to locate the IP procedure that
|
||||
-- corresponds with the C++ constructor
|
||||
-- Use the referenced function to locate the init_proc matching
|
||||
-- the C++ constructor.
|
||||
|
||||
Elmt := First_Elmt (TSS_Elist (FN));
|
||||
while Present (Elmt) loop
|
||||
|
@ -2373,7 +2373,7 @@ package body Sem_Aggr is
|
||||
-- Builds a new N_Component_Association node which associates
|
||||
-- Component to expression Expr and adds it to the association
|
||||
-- list being built, either New_Assoc_List, or the association
|
||||
-- being build for an inner aggregate.
|
||||
-- being built for an inner aggregate.
|
||||
|
||||
function Discr_Present (Discr : Entity_Id) return Boolean;
|
||||
-- If aggregate N is a regular aggregate this routine will return True.
|
||||
@ -3368,7 +3368,7 @@ package body Sem_Aggr is
|
||||
Assoc_List : List_Id;
|
||||
Comp : Entity_Id);
|
||||
-- Nested components may themselves be discriminated
|
||||
-- types constrained by outer discriminants. Their
|
||||
-- types constrained by outer discriminants, whose
|
||||
-- values must be captured before the aggregate is
|
||||
-- expanded into assignments.
|
||||
|
||||
@ -3505,7 +3505,7 @@ package body Sem_Aggr is
|
||||
-- have been collected in the aggregate earlier, and
|
||||
-- they may appear as constraints of subcomponents.
|
||||
-- Similarly if this component has discriminants, they
|
||||
-- might it turn be propagated to their components.
|
||||
-- might in turn be propagated to their components.
|
||||
|
||||
if Has_Discriminants (Typ) then
|
||||
Add_Discriminant_Values (Expr, New_Assoc_List);
|
||||
@ -3524,7 +3524,7 @@ package body Sem_Aggr is
|
||||
|
||||
begin
|
||||
-- If the type has additional components, create
|
||||
-- an others box association for them.
|
||||
-- an OTHERS box association for them.
|
||||
|
||||
Comp := First_Component (Ctyp);
|
||||
while Present (Comp) loop
|
||||
|
Loading…
x
Reference in New Issue
Block a user