aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/erroutc.adb
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2006-10-31 18:54:22 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2006-10-31 18:54:22 +0100
commit3476f949088b2f18c0cee16a36ea4ea330248138 (patch)
treedd2b8ec9fcfe908fe25e7a51eecacd05a96a6884 /gcc/ada/erroutc.adb
parentd705ba7827180320fdfee7b87896942f481e6951 (diff)
downloadgcc-3476f949088b2f18c0cee16a36ea4ea330248138.zip
gcc-3476f949088b2f18c0cee16a36ea4ea330248138.tar.gz
gcc-3476f949088b2f18c0cee16a36ea4ea330248138.tar.bz2
exp_ch3.ads, [...] (Expand_N_Object_Declaration): Do not register in the final list objects containing class-wide interfaces...
2006-10-31 Javier Miranda <miranda@adacore.com> Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> Gary Dismukes <dismukes@adacore.com> * exp_ch3.ads, exp_ch3.adb (Expand_N_Object_Declaration): Do not register in the final list objects containing class-wide interfaces; otherwise we incorrectly register the tag of the interface in the final list. (Make_Controlling_Function_Wrappers): Add missing barrier to do not generate the wrapper if the parent primitive is abstract. This is required to report the correct error message. (Expand_N_Subtype_Indication): Do validity checks on range (Clean_Task_Names): If an initialization procedure includes a call to initialize a task (sub)component, indicate that the procedure will use the secondary stack. (Build_Init_Procedure, Init_Secondary_Tags): Enable full ABI compatibility for interfacing with CPP by default. (Expand_N_Object_Declaration): Only build an Adjust call when the object's type is a nonlimited controlled type. * exp_ch3.adb: Add with and use of Exp_Ch6. (Expand_N_Object_Declaration): Check for object initialization that is a call to build-in-place function and apply Make_Build_In_Place_Call_In_ Object_Declaration to the call. (Freeze_Type): When the designated type of an RACW was not frozen at the point where the RACW was declared, validate the primitive operations with respect to E.2.2(14) when it finally is frozen. (Build_Initialization_Call,Expand_Record_Controller): Rename Is_Return_By_Reference_Type to be Is_Inherently_Limited_Type, because return-by-reference has no meaning in Ada 2005. (Init_Secondary_Tags): Add missing call to Set_Offset_To_Top to register tag of the immediate ancestor interfaces in the run-time structure. (Init_Secondary_Tags): Moved to the specification to allow the initialization of extension aggregates with abstract interfaces. (Build_Master_Renaming): Make public, for use by function declarations whose return type is an anonymous access type. (Freeze_Record_Type): Replace call to Insert_List_Before by call to Insert_List_Before_And_Analyze after the generation of the specs associated with null procedures. (Expand_Tagged_Root): Update documentation in its specification. (Init_Secondary_Tags): Update documentation. (Build_Init_Procedure): If we are compiling under CPP full ABI compa- tibility mode and the immediate ancestor is a CPP_Pragma tagged type then generate code to inherit the contents of the dispatch table directly from the ancestor. (Expand_Record_Controller): Insert controller component after tags of implemented interfaces. (Freeze_Record_Type): Call new procedure Make_Null_Procedure_Specs to create null procedure overridings when null procedures are inherited from interfaces. (Make_Null_Procedure_Specs): New procedure to generate null procedure declarations for overriding null primitives inherited from interfaces. (Is_Null_Interface_Procedure): New function in Make_Null_Procedure_Specs. (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): If the immediate ancestor of a tagged type is an abstract interface type we must generate the specification of the predefined primitives associated with controlled types (because the dispatch table of the ancestor is null and hence these entries cannot be inherited). This is required to elaborate well the dispatch table. From-SVN: r118256
Diffstat (limited to 'gcc/ada/erroutc.adb')
0 files changed, 0 insertions, 0 deletions