diff options
| author | Tristan Gingold <tgingold@free.fr> | 2023-02-04 09:56:07 +0100 | 
|---|---|---|
| committer | Tristan Gingold <tgingold@free.fr> | 2023-02-04 09:56:07 +0100 | 
| commit | cc98c151058602f0ee00d4d05aeaabde500bd88e (patch) | |
| tree | 0482948ac1e46266441261feb49e4b9f40be1b7c /src/vhdl | |
| parent | bf58e603c2bfc27e67c651df74e38d02cfb65e20 (diff) | |
| download | ghdl-cc98c151058602f0ee00d4d05aeaabde500bd88e.tar.gz ghdl-cc98c151058602f0ee00d4d05aeaabde500bd88e.tar.bz2 ghdl-cc98c151058602f0ee00d4d05aeaabde500bd88e.zip  | |
translate: add --no-elaboration flag
Diffstat (limited to 'src/vhdl')
| -rw-r--r-- | src/vhdl/translate/trans-chap2.adb | 2 | ||||
| -rw-r--r-- | src/vhdl/translate/trans-chap9.adb | 2 | ||||
| -rw-r--r-- | src/vhdl/translate/trans.adb | 5 | ||||
| -rw-r--r-- | src/vhdl/translate/trans.ads | 1 | ||||
| -rw-r--r-- | src/vhdl/translate/translation.adb | 2 | 
5 files changed, 10 insertions, 2 deletions
diff --git a/src/vhdl/translate/trans-chap2.adb b/src/vhdl/translate/trans-chap2.adb index 0ab31a3ee..c4bcc757f 100644 --- a/src/vhdl/translate/trans-chap2.adb +++ b/src/vhdl/translate/trans-chap2.adb @@ -1649,7 +1649,7 @@ package body Trans.Chap2 is        Instantiate_Info_Package (Inst); -      if Is_Nested_Package (Inst) then +      if Is_Nested_Package (Inst) or else not Flag_Elaboration then           return;        end if; diff --git a/src/vhdl/translate/trans-chap9.adb b/src/vhdl/translate/trans-chap9.adb index 4e5b54023..04f98ed5f 100644 --- a/src/vhdl/translate/trans-chap9.adb +++ b/src/vhdl/translate/trans-chap9.adb @@ -272,7 +272,7 @@ package body Trans.Chap9 is     procedure Translate_Process_Declarations (Proc : Iir)     is        Mark : Id_Mark_Type; -      Info : Ortho_Info_Acc; +      Info : Proc_Info_Acc;        Drivers     : Iir_List;        It          : List_Iterator; diff --git a/src/vhdl/translate/trans.adb b/src/vhdl/translate/trans.adb index f2744897c..a54ffb0f2 100644 --- a/src/vhdl/translate/trans.adb +++ b/src/vhdl/translate/trans.adb @@ -302,6 +302,11 @@ package body Trans is           Set_Scope_Via_Field (Child, Field, Inst_Build.Scope);        end Add_Scope_Field; +      function Get_Scope_Field (Child : Var_Scope_Type) return O_Fnode is +      begin +         return Child.Field; +      end Get_Scope_Field; +        function Get_Scope_Offset (Child : Var_Scope_Type; Otype : O_Tnode)                                   return O_Cnode is        begin diff --git a/src/vhdl/translate/trans.ads b/src/vhdl/translate/trans.ads index 68e3a79b8..8fa6dacee 100644 --- a/src/vhdl/translate/trans.ads +++ b/src/vhdl/translate/trans.ads @@ -289,6 +289,7 @@ package Trans is        --  Return the offset of field for CHILD in its parent scope.        function Get_Scope_Offset (Child : Var_Scope_Type; Otype : O_Tnode)                                   return O_Cnode; +      function Get_Scope_Field (Child : Var_Scope_Type) return O_Fnode;        --  Finish the building of the current instance and return the type        --  built. diff --git a/src/vhdl/translate/translation.adb b/src/vhdl/translate/translation.adb index b7c8eab00..76fa7a0b3 100644 --- a/src/vhdl/translate/translation.adb +++ b/src/vhdl/translate/translation.adb @@ -2110,6 +2110,8 @@ package body Translation is           Translation.Flag_Index_Checks := False;        elsif Opt = "--no-identifiers" then           Translation.Flag_Discard_Identifiers := True; +      elsif Opt = "--no-elaboration" then +         Translation.Flag_Elaboration := False;        else           return False;        end if;  | 
