This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r123564 - in /trunk/gcc/ada: exp_ch9.adb exp_ch...
- From: charlet at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Fri, 06 Apr 2007 09:20:38 -0000
- Subject: r123564 - in /trunk/gcc/ada: exp_ch9.adb exp_ch...
Author: charlet
Date: Fri Apr 6 10:20:37 2007
New Revision: 123564
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123564
Log:
2007-04-06 Eric Botcazou <botcazou@adacore.com>
Ed Schonberg <schonberg@adacore.com>
Gary Dismukes <dismukes@adacore.com>
* exp_ch9.ads, exp_ch9.adb (Family_Offset): Add new 'Cap' boolean
parameter. If it is set to true, return a result capped according to
the global upper bound for the index of an entry family.
(Family_Size): Add new 'Cap' boolean parameter. Pass it to Family_Offset
(Build_Find_Body_Index): Adjust for above change.
(Entry_Index_Expression): Likewise.
(Is_Potentially_Large_Family): New function extracted from...
(Collect_Entry_Families): ...here. Call it to detect whether the family
is potentially large.
(Build_Entry_Count_Expression): If the family is potentially large, call
Family_Size with 'Cap' set to true.
(Expand_N_Protected_Type_Declaration, Expand_N_Protected_Body): Generate
a protected version of an operation declared in the private part of
a protected object, because they may be invoked through a callback.
(Set_Privals): If the type of a private component is an anonymous access
type, do not create a new itype for each protected body.
If the body of a protected operation creates
controlled types (including allocators for class-widetypes), the
body of the corresponding protected subprogram must include a
finalization list.
(Build_Activation_Chain_Entity): Build the chain entity for extended
return statements.
(Type_Conformant_Parameters): Use common predicate Conforming_Types
to determine whether operation overrides an inherited primitive.
(Build_Wrapper_Spec): Add code to examine the parents while looking
for a possible overriding candidate.
(Build_Simple_Entry_Call): Set No_Initialization on the object used to
hold an actual parameter value since its initialization is separated
from the the declaration. Prevents errors on null-excluding access
formals.
Modified:
trunk/gcc/ada/exp_ch9.adb
trunk/gcc/ada/exp_ch9.ads