Ignoring more system task and functions
authorClifford Wolf <clifford@clifford.at>
Thu, 15 Jan 2015 12:08:19 +0000 (13:08 +0100)
committerClifford Wolf <clifford@clifford.at>
Thu, 15 Jan 2015 12:08:19 +0000 (13:08 +0100)
frontends/ast/simplify.cc
frontends/verilog/verilog_lexer.l

index 552fc04bcf4526302b9a9859cd79fbc165c4a6f4..6128ac68471dbb9c18c8771660802c170cc7ead6 100644 (file)
@@ -157,7 +157,9 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage,
                return false;
 
        // deactivate all calls to non-synthesis system taks
-       if ((type == AST_FCALL || type == AST_TCALL) && (str == "$display" || str == "$stop" || str == "$finish")) {
+       if ((type == AST_FCALL || type == AST_TCALL) && (str == "$display" || str == "$strobe" || str == "$monitor" || str == "$time" || str == "$stop" || str == "$finish" ||
+                       str == "$dumpfile" || str == "$dumpvars" || str == "$dumpon" || str == "$dumpoff" || str == "$dumpall")) {
+               log_warning("Ignoring call to system %s %s at %s:%d.\n", type == AST_FCALL ? "function" : "task", str.c_str(), filename.c_str(), linenum);
                delete_children();
                str = std::string();
        }
index 42b5bf7eaa5b512036fc186d0f267efc52253339..cb8fafcb28fb3f78a18fb010bb59941f02adee09 100644 (file)
@@ -240,7 +240,7 @@ and|nand|or|nor|xor|xnor|not|buf|bufif0|bufif1|notif0|notif1 {
 supply0 { return TOK_SUPPLY0; }
 supply1 { return TOK_SUPPLY1; }
 
-"$"(display|time|stop|finish) {
+"$"(display|strobe|monitor|time|stop|finish|dumpfile|dumpvars|dumpon|dumpoff|dumpall) {
        frontend_verilog_yylval.string = new std::string(yytext);
        return TOK_ID;
 }