vhdlpp: Special handling for string type emission.

This commit is contained in:
Maciej Suminski 2015-04-24 17:15:51 +02:00
parent ddc204391e
commit 515ab40ffe
1 changed files with 14 additions and 5 deletions

View File

@ -41,14 +41,16 @@ void VTypeArray::write_to_stream(ostream&fd) const
// Special cases: std_logic_vector & string
if (etype_ == &primitive_STDLOGIC) {
fd << "std_logic_vector";
if (! ranges_.empty() && ! ranges_[0].is_box()) {
if (!ranges_.empty() && !ranges_[0].is_box()) {
write_range_to_stream_(fd);
}
return;
} else if (etype_ == &primitive_CHARACTER) {
fd << "string";
if (!ranges_.empty() && !ranges_[0].is_box()) {
write_range_to_stream_(fd);
}
return;
} else if (etype_ == &primitive_CHARACTER &&
ranges_.size() == 1 && ranges_[0].is_box()) {
fd << "string";
return;
}
bool typedefed = false;
@ -104,6 +106,13 @@ void VTypeArray::write_type_to_stream(ostream&fd) const
}
return;
}
else if (etype_ == &primitive_CHARACTER) {
fd << "string";
if (! ranges_.empty() && ! ranges_[0].is_box()) {
write_range_to_stream_(fd);
}
return;
}
fd << "array ";