From: Clifford Wolf Date: Wed, 4 Dec 2013 20:33:00 +0000 (+0100) Subject: Fixed generate-for (and disabled double warning for auto-wire) X-Git-Tag: yosys-0.2.0~258 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=853538d78b0207ca218524cb766fd5cdb165478d;p=yosys.git Fixed generate-for (and disabled double warning for auto-wire) --- diff --git a/frontends/ast/simplify.cc b/frontends/ast/simplify.cc index 94b588f25..3d512d6f0 100644 --- a/frontends/ast/simplify.cc +++ b/frontends/ast/simplify.cc @@ -513,7 +513,7 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage, } } if (current_scope.count(str) == 0) { - log("Warning: Creating auto-wire `%s' in module `%s'.\n", str.c_str(), current_ast_mod->str.c_str()); + // log("Warning: Creating auto-wire `%s' in module `%s'.\n", str.c_str(), current_ast_mod->str.c_str()); AstNode *auto_wire = new AstNode(AST_AUTOWIRE); auto_wire->str = str; current_ast_mod->children.push_back(auto_wire); @@ -580,6 +580,10 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage, AstNode *next_ast = children[2]; AstNode *body_ast = children[3]; + while (body_ast->type == AST_GENBLOCK && body_ast->str.empty() && + body_ast->children.size() == 1 && body_ast->children.at(0)->type == AST_GENBLOCK) + body_ast = body_ast->children.at(0); + if (init_ast->type != AST_ASSIGN_EQ) log_error("Unsupported 1st expression of generate for-loop at %s:%d!\n", filename.c_str(), linenum); if (next_ast->type != AST_ASSIGN_EQ)