From 6c8d95e0e23f7cd7702a245568ab6c8e3b197383 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Fri, 22 Feb 2013 17:14:27 -0500 Subject: [PATCH] Nice message on fopen with missing argument. --- src/V3Gate.cpp | 2 +- src/verilog.y | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/V3Gate.cpp b/src/V3Gate.cpp index 7710d1608..4f6ebf02c 100644 --- a/src/V3Gate.cpp +++ b/src/V3Gate.cpp @@ -103,7 +103,7 @@ public: virtual AstNUser* accept(GateGraphBaseVisitor& v, AstNUser* vup=NULL) =0; // Returns only the result from the LAST vertex iterated over AstNUser* iterateInEdges(GateGraphBaseVisitor& v, AstNUser* vup=NULL) { - AstNUser* retp; + AstNUser* retp = NULL; for (V3GraphEdge* edgep = inBeginp(); edgep; edgep = edgep->inNextp()) { retp = dynamic_cast(edgep->fromp())->accept(v, vup); } diff --git a/src/verilog.y b/src/verilog.y index fa0a208e6..6baf41349 100644 --- a/src/verilog.y +++ b/src/verilog.y @@ -2184,6 +2184,7 @@ statementVerilatorPragmas: foperator_assignment: // IEEE: operator_assignment (for first part of expression) fexprLvalue '=' delayE expr { $$ = new AstAssign($2,$1,$4); } + | fexprLvalue '=' yD_FOPEN '(' expr ')' { $$ = NULL; $3->v3error("Unsupported: $fopen with multichannel descriptor. Add ,\"w\" as second argument to open a file descriptor."); } | fexprLvalue '=' yD_FOPEN '(' expr ',' expr ')' { $$ = new AstFOpen($3,$1,$5,$7); } // //UNSUP ~f~exprLvalue '=' delay_or_event_controlE expr { UNSUP }