aboutsummaryrefslogtreecommitdiffstats
path: root/pyGHDL/dom/Literal.py
diff options
context:
space:
mode:
authorumarcor <unai.martinezcorral@ehu.eus>2021-08-02 02:04:17 +0200
committerumarcor <unai.martinezcorral@ehu.eus>2021-08-23 16:35:33 +0200
commitc7f774ff0ade8efe292c00dd6ceb31c42d631278 (patch)
treecc51db9007d26d9475d483ba717042ec00ffa181 /pyGHDL/dom/Literal.py
parent9e612ed4cacdc6bd1e24b41747c49a3fd9b1f24e (diff)
downloadghdl-c7f774ff0ade8efe292c00dd6ceb31c42d631278.tar.gz
ghdl-c7f774ff0ade8efe292c00dd6ceb31c42d631278.tar.bz2
ghdl-c7f774ff0ade8efe292c00dd6ceb31c42d631278.zip
FIX pass the length to probably unterminated string extraction
(cherry picked from commit afee8309e4b644e0e94c1938c0f4e211ae3038fa)
Diffstat (limited to 'pyGHDL/dom/Literal.py')
-rw-r--r--pyGHDL/dom/Literal.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/pyGHDL/dom/Literal.py b/pyGHDL/dom/Literal.py
index 5fb31f0e7..26be52ec8 100644
--- a/pyGHDL/dom/Literal.py
+++ b/pyGHDL/dom/Literal.py
@@ -149,6 +149,10 @@ class StringLiteral(VHDLModel_StringLiteral, DOMMixin):
@classmethod
def parse(cls, literalNode: Iir) -> "StringLiteral":
- stringID = nodes.Get_String8_Id(literalNode)
- value = str_table.Get_String8_Ptr(stringID)
- return cls(literalNode, value)
+ if nodes.Get_Bit_String_Base(literalNode) is nodes.NumberBaseType.Base_None:
+ value = str_table.Get_String8_Ptr(
+ nodes.Get_String8_Id(literalNode), nodes.Get_String_Length(literalNode)
+ )
+ return cls(literalNode, value)
+ else:
+ print("[NOT IMPLEMENTED] Bit String Literal not supported yet")