sv: Fix typedefs in blocks
authorDavid Shah <dave@ds0.me>
Fri, 20 Sep 2019 17:40:23 +0000 (18:40 +0100)
committerDavid Shah <dave@ds0.me>
Thu, 3 Oct 2019 08:54:45 +0000 (09:54 +0100)
Signed-off-by: David Shah <dave@ds0.me>
frontends/ast/simplify.cc

index aaf1188b422d8a1009df6cb4e2d51fd7ea92e201..0ebc183b2c4b128c9d70a3fc04a23a66b8679563 100644 (file)
@@ -3002,7 +3002,7 @@ void AstNode::expand_genblock(std::string index_var, std::string prefix, std::ma
                }
        }
 
-       if ((type == AST_IDENTIFIER || type == AST_FCALL || type == AST_TCALL) && name_map.count(str) > 0)
+       if ((type == AST_IDENTIFIER || type == AST_FCALL || type == AST_TCALL || type == AST_WIRETYPE) && name_map.count(str) > 0)
                str = name_map[str];
 
        std::map<std::string, std::string> backup_name_map;
@@ -3010,7 +3010,7 @@ void AstNode::expand_genblock(std::string index_var, std::string prefix, std::ma
        for (size_t i = 0; i < children.size(); i++) {
                AstNode *child = children[i];
                if (child->type == AST_WIRE || child->type == AST_MEMORY || child->type == AST_PARAMETER || child->type == AST_LOCALPARAM ||
-                               child->type == AST_FUNCTION || child->type == AST_TASK || child->type == AST_CELL) {
+                               child->type == AST_FUNCTION || child->type == AST_TASK || child->type == AST_CELL || child->type == AST_TYPEDEF) {
                        if (backup_name_map.size() == 0)
                                backup_name_map = name_map;
                        std::string new_name = prefix[0] == '\\' ? prefix.substr(1) : prefix;