aboutsummaryrefslogtreecommitdiffstats
path: root/src/ghdldrv/ghdldrv.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2023-03-12 17:28:39 +0100
committerTristan Gingold <tgingold@free.fr>2023-03-13 07:29:24 +0100
commit5d90b04e624713e5341439167f7b54a699ce7c6b (patch)
treed66cd0c1bf8863849ad810ee303c5c419bbd4eca /src/ghdldrv/ghdldrv.adb
parentc2a8dee97b6794753da78e8b3365f7d5650238b0 (diff)
downloadghdl-5d90b04e624713e5341439167f7b54a699ce7c6b.tar.gz
ghdl-5d90b04e624713e5341439167f7b54a699ce7c6b.tar.bz2
ghdl-5d90b04e624713e5341439167f7b54a699ce7c6b.zip
ghdllocal.adb(Build_Dependence): rebuild file dependencies.
vhdl: remove Get/Set_File_Dependence_List. Fix #2388
Diffstat (limited to 'src/ghdldrv/ghdldrv.adb')
-rw-r--r--src/ghdldrv/ghdldrv.adb12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/ghdldrv/ghdldrv.adb b/src/ghdldrv/ghdldrv.adb
index 0313e6057..4a36f95c7 100644
--- a/src/ghdldrv/ghdldrv.adb
+++ b/src/ghdldrv/ghdldrv.adb
@@ -1659,18 +1659,19 @@ package body Ghdldrv is
if Flag_Verbose then
Put_Line (":");
declare
- Dep_List : constant Iir_List :=
- Get_File_Dependence_List (File);
+ Dep_List : Iir_List;
Dep_It : List_Iterator;
Dep_File : Iir;
begin
- Dep_It := List_Iterate_Safe (Dep_List);
+ Dep_List := Build_File_Dependences (File);
+ Dep_It := List_Iterate (Dep_List);
while Is_Valid (Dep_It) loop
Put (" ");
Dep_File := Get_Element (Dep_It);
Put_Line (Image (Get_Design_File_Filename (Dep_File)));
Next (Dep_It);
end loop;
+ Destroy_Iir_List (Dep_List);
end;
else
New_Line;
@@ -2004,8 +2005,8 @@ package body Ghdldrv is
if Is_Makeable_File (File) then
Put (Get_Object_Filename (File));
Put (": ");
- Dep_List := Get_File_Dependence_List (File);
- Dep_It := List_Iterate_Safe (Dep_List);
+ Dep_List := Build_File_Dependences (File);
+ Dep_It := List_Iterate (Dep_List);
while Is_Valid (Dep_It) loop
Dep_File := Get_Element (Dep_It);
if Dep_File /= File and then Is_Makeable_File (Dep_File)
@@ -2015,6 +2016,7 @@ package body Ghdldrv is
end if;
Next (Dep_It);
end loop;
+ Destroy_Iir_List (Dep_List);
New_Line;
end if;
Next (Files_It);