liberty no warning for lower case unit suffix

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2023-08-22 09:25:27 -07:00
parent 96348ebe58
commit 2c28538bea
1 changed files with 22 additions and 18 deletions

View File

@ -770,7 +770,7 @@ LibertyReader::parseUnits(LibertyAttr *attr,
// Unit format is <multipler_digits><scale_suffix_char><unit_suffix>. // Unit format is <multipler_digits><scale_suffix_char><unit_suffix>.
// Find the multiplier digits. // Find the multiplier digits.
string units = getAttrString(attr); string units = getAttrString(attr);
size_t mult_end = units.find_first_not_of("01234567890"); size_t mult_end = units.find_first_not_of("0123456789");
float mult = 1.0F; float mult = 1.0F;
string scale_suffix; string scale_suffix;
if (mult_end != units.npos) { if (mult_end != units.npos) {
@ -789,7 +789,9 @@ LibertyReader::parseUnits(LibertyAttr *attr,
scale_suffix = units; scale_suffix = units;
float scale_mult = 1.0F; float scale_mult = 1.0F;
if (scale_suffix.size() >= 2 && scale_suffix.substr(1) == unit_suffix) { if (scale_suffix.size() >= 2) {
string suffix = scale_suffix.substr(1);
if (stringEqual(suffix.c_str(), unit_suffix)) {
char scale_char = tolower(scale_suffix[0]); char scale_char = tolower(scale_suffix[0]);
if (scale_char == 'k') if (scale_char == 'k')
scale_mult = 1E+3F; scale_mult = 1E+3F;
@ -806,9 +808,11 @@ LibertyReader::parseUnits(LibertyAttr *attr,
else else
libWarn(39, attr, "unknown unit scale %c.", scale_char); libWarn(39, attr, "unknown unit scale %c.", scale_char);
} }
else
libWarn(40, attr, "unknown unit suffix %s.", suffix.c_str());
}
else if (!stringEqual(scale_suffix.c_str(), unit_suffix)) else if (!stringEqual(scale_suffix.c_str(), unit_suffix))
libWarn(40, attr, "unknown unit suffix %s.", scale_suffix.c_str()); libWarn(171, attr, "unknown unit suffix %s.", scale_suffix.c_str());
scale_var = scale_mult * mult; scale_var = scale_mult * mult;
unit->setScale(scale_var); unit->setScale(scale_var);
} }