From: Clifford Wolf Date: Wed, 20 Nov 2013 11:18:46 +0000 (+0100) Subject: Do not allow memory bit select on the left side of an assignment X-Git-Tag: yosys-0.2.0~350 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c4c299eb5a3d9c2b7c9932efb35669c09c1aacb4;p=yosys.git Do not allow memory bit select on the left side of an assignment --- diff --git a/frontends/ast/simplify.cc b/frontends/ast/simplify.cc index 57178c814..6d662c8f7 100644 --- a/frontends/ast/simplify.cc +++ b/frontends/ast/simplify.cc @@ -473,7 +473,7 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage, // split memory access with bit select to individual statements if (type == AST_IDENTIFIER && children.size() == 2 && children[0]->type == AST_RANGE && children[1]->type == AST_RANGE) { - if (id2ast == NULL || id2ast->type != AST_MEMORY || children[0]->children.size() != 1) + if (id2ast == NULL || id2ast->type != AST_MEMORY || children[0]->children.size() != 1 || in_lvalue) log_error("Invalid bit-select on memory access at %s:%d!\n", filename.c_str(), linenum); int mem_width, mem_size, addr_bits;