Fix input/output attributes when resolving typedef of wire
authorKamil Rakoczy <krakoczy@antmicro.com>
Tue, 9 Jun 2020 07:53:00 +0000 (09:53 +0200)
committerKamil Rakoczy <krakoczy@antmicro.com>
Mon, 18 Jan 2021 16:31:22 +0000 (17:31 +0100)
Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
frontends/ast/simplify.cc

index d4242f1e70887afd48dcd33143a088507fa8cf8a..fc2976c83e8833a7f9d22496dbfe1d8b218cf774 100644 (file)
@@ -1330,6 +1330,9 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage,
                        if (template_node->type == AST_STRUCT || template_node->type == AST_UNION) {
                                // replace with wire representing the packed structure
                                newNode = make_packed_struct(template_node, str);
+                               // add original input/output attribute to resolved wire
+                               newNode->is_input = this->is_input;
+                               newNode->is_output = this->is_output;
                                current_scope[str] = this;
                                goto apply_newNode;
                        }