Commit fe03d600 authored by Maxime Perrotin's avatar Maxime Perrotin
Browse files

Fix CV build

parent be0ccc69
......@@ -250,7 +250,15 @@ package body TASTE.AADL_Parser is
Block_Id : String) is
begin
-- First add thread to its corresponding protected function
CV.Blocks (Block_Id).Calling_Threads.Insert (Thread_Id);
-- Stop recursion if thread is already there...
if not String_Sets.To_Set (Thread_Id).Is_Subset
(Of_Set => CV.Blocks (Block_Id).Calling_Threads)
then
CV.Blocks (Block_Id).Calling_Threads.Insert (Thread_Id);
else
return;
end if;
-- Then recurse on its (Un)protected RIs.
for RI of CV.Blocks (Block_Id).Required loop
if RI.RCM = Protected_Operation or RI.RCM = Unprotected_Operation
......@@ -297,6 +305,10 @@ package body TASTE.AADL_Parser is
end if;
for RI of Func.Required loop
if RI.Remote_Interfaces.Is_Empty then
goto Continue;
end if;
if RI.RCM = Unprotected_Operation or RI.RCM = Protected_Operation
then
Rec_Find_Thread (Ports_Map => Ports_Map,
......@@ -322,6 +334,7 @@ package body TASTE.AADL_Parser is
New_Item => New_P);
end;
end if;
<<Continue>>
end loop;
end Rec_Find_Thread;
begin
......
......@@ -706,6 +706,11 @@ package body TASTE.Interface_View is
begin
if Remote.Function_Name /= "Not found!" then
RI.Remote_Interfaces.Append (Remote);
-- Update RCM of the RI to match the one of the remote PI
-- (by default it is set to Any)
RI.RCM :=
Functions (To_String (Remote.Function_Name)).Provided
(To_String (Remote.Interface_Name)).RCM;
end if;
end;
end loop;
......
......@@ -195,6 +195,6 @@ PROPERTIES
Taste::coordinates => "0 0 297000 210000";
Taste::version => "2.0";
Taste::interfaceView => "InterfaceView.aadl";
Taste::HWLibraries => ("../../../tool-inst/share/ocarina/AADLv2/ocarina_components.aadl");
Taste::HWLibraries => ("/home/taste/tool-inst/share/ocarina/AADLv2/ocarina_components.aadl");
END deploymentview::DV;
Supports Markdown
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