From 0772a6ea04339a2bd6bbae174c0dd0a47b9f69bd Mon Sep 17 00:00:00 2001 From: Thomas Quinot Date: Thu, 16 Jun 2005 10:38:05 +0200 Subject: exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an RACW without any primitives... 2005-06-14 Thomas Quinot * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an RACW without any primitives, do not generate the if statement for dispatching by name in the PolyORB/DSA case, as it would be malformed (it would have an Elsif_Parts list that is not No_List, but with a length of 0). From-SVN: r101035 --- gcc/ada/exp_dist.adb | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'gcc') diff --git a/gcc/ada/exp_dist.adb b/gcc/ada/exp_dist.adb index 60fdf4f..13dbbce 100644 --- a/gcc/ada/exp_dist.adb +++ b/gcc/ada/exp_dist.adb @@ -1164,11 +1164,6 @@ package body Exp_Dist is -- simple sequence of string comparisons. RPC_Receiver_Elsif_Parts := New_List; - Append_To (RPC_Receiver_Statements, - Make_Implicit_If_Statement (Designated_Type, - Condition => New_Occurrence_Of (Standard_False, Loc), - Then_Statements => New_List, - Elsif_Parts => RPC_Receiver_Elsif_Parts)); end if; end if; @@ -1308,6 +1303,16 @@ package body Exp_Dist is -- Build the case statement and the heart of the subprogram if not Is_RAS then + if Get_PCS_Name = Name_PolyORB_DSA + and then Present (First (RPC_Receiver_Elsif_Parts)) + then + Append_To (RPC_Receiver_Statements, + Make_Implicit_If_Statement (Designated_Type, + Condition => New_Occurrence_Of (Standard_False, Loc), + Then_Statements => New_List, + Elsif_Parts => RPC_Receiver_Elsif_Parts)); + end if; + Append_To (RPC_Receiver_Case_Alternatives, Make_Case_Statement_Alternative (Loc, Discrete_Choices => New_List (Make_Others_Choice (Loc)), -- cgit v1.1