3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-27 19:05:52 +00:00

sv: carry over global typedefs from previous files

This breaks the ability to use a global typename as a standard
identifier in a subsequent input file. This is otherwise backwards
compatible, including for sources which previously included conflicting
typedefs in each input file.
This commit is contained in:
Zachary Snow 2021-03-16 11:06:40 -04:00 committed by Zachary Snow
parent 092e923330
commit f71c2dcca6
3 changed files with 65 additions and 2 deletions

View file

@ -61,8 +61,11 @@ static void add_package_types(dict<std::string, AST::AstNode *> &user_types, std
}
}
}
user_type_stack.clear();
user_type_stack.push_back(new UserTypeMap());
// carry over typedefs from previous files, but allow them to be overridden
// note that these type maps are currently never reclaimed
if (user_type_stack.empty() || !user_type_stack.back()->empty())
user_type_stack.push_back(new UserTypeMap());
}
struct VerilogFrontend : public Frontend {