Commit 706d7459 by Thomas Quinot Committed by Arnaud Charlet

rtsfind.adb (Check_RPC): Check version consistency even when not generating RCI stubs.

2008-07-30  Thomas Quinot  <quinot@adacore.com>

	* rtsfind.adb (Check_RPC): Check version consistency even when not
	generating RCI stubs. Provide more detailed error message in case of
	mismatch.

From-SVN: r138321
parent cc72409e
...@@ -914,25 +914,6 @@ package body Rtsfind is ...@@ -914,25 +914,6 @@ package body Rtsfind is
--------------- ---------------
procedure Check_RPC is procedure Check_RPC is
procedure Check_RPC_Failure (Msg : String);
pragma No_Return (Check_RPC_Failure);
-- Display Msg on standard error and raise Unrecoverable_Error
-----------------------
-- Check_RPC_Failure --
-----------------------
procedure Check_RPC_Failure (Msg : String) is
begin
Set_Standard_Error;
Write_Str (Msg);
Write_Eol;
raise Unrecoverable_Error;
end Check_RPC_Failure;
-- Start of processing for Check_RPC
begin begin
-- Bypass this check if debug flag -gnatdR set -- Bypass this check if debug flag -gnatdR set
...@@ -940,30 +921,44 @@ package body Rtsfind is ...@@ -940,30 +921,44 @@ package body Rtsfind is
return; return;
end if; end if;
-- Otherwise we need the check if we are going after one of -- Otherwise we need the check if we are going after one of the
-- the critical entities in System.RPC in stubs mode. -- critical entities in System.RPC / System.Partition_Interface.
-- ??? Should we do this for other s-parint entities too? if E = RE_Do_Rpc
or else
if (Distribution_Stub_Mode = Generate_Receiver_Stub_Body E = RE_Do_Apc
or else or else
Distribution_Stub_Mode = Generate_Caller_Stub_Body) E = RE_Params_Stream_Type
and then (E = RE_Do_Rpc or else
or else E = RE_Request_Access
E = RE_Do_Apc
or else
E = RE_Params_Stream_Type
or else
E = RE_Request_Access)
then then
if Get_PCS_Name = Name_No_DSA then -- If generating RCI stubs, check that we have a real PCS
Check_RPC_Failure ("distribution feature not supported");
if (Distribution_Stub_Mode = Generate_Receiver_Stub_Body
or else
Distribution_Stub_Mode = Generate_Caller_Stub_Body)
and then Get_PCS_Name = Name_No_DSA
then
Set_Standard_Error;
Write_Str ("distribution feature not supported");
Write_Eol;
raise Unrecoverable_Error;
-- In all cases, check Exp_Dist and System.Partition_Interface
-- consistency.
elsif Get_PCS_Version /= elsif Get_PCS_Version /=
Exp_Dist.PCS_Version_Number (Get_PCS_Name) Exp_Dist.PCS_Version_Number (Get_PCS_Name)
then then
Check_RPC_Failure ("PCS version mismatch"); Set_Standard_Error;
Write_Str ("PCS version mismatch: expander ");
Write_Int (Exp_Dist.PCS_Version_Number (Get_PCS_Name));
Write_Str (", PCS (");
Write_Name (Get_PCS_Name);
Write_Str (") ");
Write_Int (Get_PCS_Version);
Write_Eol;
raise Unrecoverable_Error;
end if; end if;
end if; end if;
end Check_RPC; end Check_RPC;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment