vhdlpp: Emits typedef for boolean type.
This commit is contained in:
parent
4304fd503e
commit
08e5aa021a
|
|
@ -409,6 +409,14 @@ void generate_global_types(ActiveScope*res)
|
|||
res->use_name(perm_string::literal("natural"), &primitive_NATURAL);
|
||||
}
|
||||
|
||||
void emit_std_types(ostream&out)
|
||||
{
|
||||
out << "`ifndef __VHDL_STD_TYPES" << endl;
|
||||
out << "`define __VHDL_STD_TYPES" << endl;
|
||||
out << "typedef enum bit { \\false , \\true } boolean ;" << endl;
|
||||
out << "`endif" << endl;
|
||||
}
|
||||
|
||||
bool is_global_type(perm_string name)
|
||||
{
|
||||
if (name == "boolean") return true;
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ extern void library_add_directory(const char*directory);
|
|||
|
||||
extern Subprogram*library_find_subprogram(perm_string name);
|
||||
|
||||
extern void emit_std_types(ostream&out);
|
||||
extern int emit_packages(void);
|
||||
|
||||
#endif /* IVL_library_H */
|
||||
|
|
|
|||
|
|
@ -232,6 +232,8 @@ int main(int argc, char*argv[])
|
|||
return 3;
|
||||
}
|
||||
|
||||
emit_std_types(cout);
|
||||
|
||||
errors = emit_packages();
|
||||
if (errors > 0) {
|
||||
fprintf(stderr, "%d errors emitting packages.\n", errors);
|
||||
|
|
|
|||
|
|
@ -149,6 +149,8 @@ int VTypePrimitive::emit_primitive_type(ostream&out) const
|
|||
int errors = 0;
|
||||
switch (type_) {
|
||||
case BOOLEAN:
|
||||
out << "boolean";
|
||||
break;
|
||||
case BIT:
|
||||
out << "bool";
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in New Issue