Internals: Don't wrap elaboration severity task in an AstInitial (#6280) (#8142)

An elaboration severity system task ($info/$warning/$error/$fatal used
as a module/generate/program/checker item), which is a module item,was
parsed as an AstInitial wrapping an AstElabDisplay. That put
AstElabDisplay (a non-statement) into the procedural statement list of
an AstInitial.

AstElabDisplay is evaluated by V3Width, which then deletes it. The
AstInitial wrapper is historic and has no effect.

Part of #6280
This commit is contained in:
Geza Lore 2026-08-18 11:19:50 +02:00 committed by GitHub
parent 7c6b225b7e
commit 8baff6ae33
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 2 additions and 2 deletions

View File

@ -4563,8 +4563,8 @@ system_f_or_t_expr_call<nodeExprp>: // IEEE: part of system_tf_call (can be tas
;
severity_system_task<nodep>: // IEEE: severity_system_task/elaboration_severity_system_task (1800-2009)
// // TODO: These currently just make initial statements, should instead give runtime error
severity_system_task_guts ';' { $$ = new AstInitial{$<fl>1, $1}; }
// // Elaboration-time task; V3Width evaluates and removes it
severity_system_task_guts ';' { $$ = $1; }
;
severity_system_task_guts<nodep>: // IEEE: part of severity_system_task (1800-2009)