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 }