This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Tested on i686-linux, committed on trunk. This fixes a bug with PolyORB PCS and acats test CXE4005. In some cases wrong subprogram ids could be assigned. This was due to a call to Get_Subprogram_Id before the subprograms ids were assigned. Thus Subprograms Ids were assigned twice and homonyms were wrongly used. This resulted in failing rpc calls. Fixes also a longstanding bug in the PolyORB-based implementation of the DSA, consisting in a missing allocation of a memory zone used for the transmission of tagged values in remote calls. Finally, there was an incorrect test in the code generation for DSA receiving stubs in the GARLIC case that caused controlling formal parameters to always be unmarshalled before any other constrained formal parameter. This was inconsistent with the way the formals are marshalled (all unconstrained first, and then all constrained, irrespective of controlling status), causing a runtime error when a controlling formal appeared after a constrained, non-controlling formal in a primitive operation of a remote object. This change fixes the problem by removing the improper special processing for controlling formals. 2006-10-31 Thomas Quinot <quinot@adacore.com> Pablo Oliveira <oliveira@adacore.com> * exp_dist.adb (Get_Subprogram_Ids): This function will no more assign subprogram Ids, even if they are not yet assigned. (Build_Subprogram_Id): It is now this function that will take care of calling Assign_Subprogram_Ids if necessary. (Add_Receiving_Stubs_To_Declarations): Checking the subprograms ids should be done only once they are assigned. (Build_From_Any_Function, case of tagged types): Add missing call to Allocate_Buffer. (Corresponding_Stub_Type): New subprogram. Returns the associated stub type for an RACW type. (Add_RACW_Features): When processing an RACW declaration for which the designated type is already frozen, enforce E.2.2(14) rules immediately. (GARLIC_Support.Build_Subprogram_Receiving_Stubs): Do not perform any special reordering of controlling formals. * exp_dist.ads (Corresponding_Stub_Type): New subprogram. Returns the associated stub type for an RACW type.
Attachment:
difs
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |