summaryrefslogtreecommitdiff
path: root/src/vhdl/translate/trans-chap14.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/translate/trans-chap14.adb')
-rw-r--r--src/vhdl/translate/trans-chap14.adb9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/vhdl/translate/trans-chap14.adb b/src/vhdl/translate/trans-chap14.adb
index a737c6c..eacbf75 100644
--- a/src/vhdl/translate/trans-chap14.adb
+++ b/src/vhdl/translate/trans-chap14.adb
@@ -464,14 +464,13 @@ package body Trans.Chap14 is
-- Read signal value FIELD of signal SIG.
function Get_Signal_Value_Field
- (Sig : O_Enode; Sig_Type : Iir; Field : O_Fnode)
- return O_Lnode
+ (Sig : O_Enode; Sig_Type : Iir; Field : O_Fnode) return O_Lnode
is
- S_Type : O_Tnode;
+ Tinfo : constant Type_Info_Acc := Get_Info (Sig_Type);
+ S_Type : constant O_Tnode := Tinfo.Ortho_Ptr_Type (Mode_Value);
T : O_Lnode;
begin
- S_Type := Get_Ortho_Type (Sig_Type, Mode_Signal);
- T := New_Access_Element (New_Convert_Ov (Sig, Ghdl_Signal_Ptr));
+ T := New_Access_Element (Sig);
return New_Access_Element
(New_Unchecked_Address (New_Selected_Element (T, Field), S_Type));
end Get_Signal_Value_Field;