From f1c30ad16e0914455ee2c84e80714f6b271021f2 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Wed, 30 Dec 2020 10:29:16 +0100 Subject: Rework initialization and finalization. libghdl can now be re-initialized. --- src/options.adb | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'src/options.adb') diff --git a/src/options.adb b/src/options.adb index bf97e4533..ad9558f9d 100644 --- a/src/options.adb +++ b/src/options.adb @@ -19,28 +19,48 @@ with Simple_IO; with Errorout; use Errorout; with Types; use Types; -with Libraries; with Std_Names; +with Name_Table; +with Str_Table; +with Libraries; with PSL.Nodes; with PSL.Dump_Tree; +with Flags; use Flags; +with Files_Map; + +with Vhdl.Nodes; +with Vhdl.Lists; with Vhdl.Disp_Tree; with Vhdl.Scanner; with Vhdl.Parse; with Vhdl.Errors; with Vhdl.Back_End; use Vhdl.Back_End; -with Flags; use Flags; -with Files_Map; package body Options is procedure Initialize is begin + Name_Table.Initialize; Std_Names.Std_Names_Initialize; - Libraries.Init_Paths; + Str_Table.Initialize; + Vhdl.Lists.Initialize; + Vhdl.Nodes.Initialize; + Files_Map.Initialize; + Libraries.Initialize; PSL.Nodes.Init (Libraries.Library_Location); PSL.Dump_Tree.Dump_Hdl_Node := Vhdl.Disp_Tree.Disp_Tree_For_Psl'Access; Vhdl.Errors.Initialize; end Initialize; + procedure Finalize is + begin + Name_Table.Finalize; + Str_Table.Finalize; + Vhdl.Lists.Finalize; + Vhdl.Nodes.Finalize; + Files_Map.Finalize; + Libraries.Finalize; + end Finalize; + function Option_Warning (Opt: String; Val : Boolean) return Option_State is begin -- Handle -Werror. -- cgit v1.2.3