mirror of
https://github.com/verilator/verilator.git
synced 2025-01-07 15:17:36 +00:00
65e08f4dbf
Apart from the representational changes below, this patch renames AstNodeMath to AstNodeExpr, and AstCMath to AstCExpr. Now every expression (i.e.: those AstNodes that represent a [possibly void] value, with value being interpreted in a very general sense) has AstNodeExpr as a super class. This necessitates the introduction of an AstStmtExpr, which represents an expression in statement position, e.g : 'foo();' would be represented as AstStmtExpr(AstCCall(foo)). In exchange we can get rid of isStatement() in AstNodeStmt, which now really always represent a statement Peak memory consumption and verilation speed are not measurably changed. Partial step towards #3420
9 lines
633 B
Plaintext
9 lines
633 B
Plaintext
%Error-TASKNSVAR: t/t_func_tasknsvar_bad.v:16:29: Unsupported: Function/task input argument is not simple variable
|
|
16 | foo(bus_we_select_from[2]);
|
|
| ^
|
|
... For error description see https://verilator.org/warn/TASKNSVAR?v=latest
|
|
%Error: Internal Error: t/t_func_tasknsvar_bad.v:10:7: ../V3Broken.cpp:#: Broken link in node (or something without maybePointedTo): 'm_varp && !m_varp->brokeExists()' @ ../V3AstNodes.cpp:66
|
|
10 | sig = '1;
|
|
| ^~~
|
|
... See the manual at https://verilator.org/verilator_doc.html for more assistance.
|