error/warn IDs

This commit is contained in:
James Cherry
2020-12-13 18:21:35 -07:00
parent e0c4799a56
commit 78d29c8f90
52 changed files with 510 additions and 475 deletions
+2 -1
View File
@@ -163,6 +163,7 @@ EstimateParasitics::estimatePiElmoreBalanced(const Pin *drvr_pin,
else {
Sdc *sdc = sta->sdc();
Network *network = sta->network();
Report *report = sta->report();
double res_fanout = wireload_res / fanout;
double cap_fanout = wireload_cap / fanout;
// Find admittance moments.
@@ -184,7 +185,7 @@ EstimateParasitics::estimatePiElmoreBalanced(const Pin *drvr_pin,
else if (network->isTopLevelPort(load_pin))
load_cap = sdc->portExtCap(port, rf, min_max);
else
internalError("load pin not leaf or top level");
report->critical(212, "load pin not leaf or top level");
double cap = load_cap + cap_fanout;
double y2_ = res_fanout * cap * cap;
y1 += cap;
+2 -2
View File
@@ -66,10 +66,10 @@ Parasitics::check(Parasitic *) const
res_count++;
}
if (res_count == 0)
report->warn("sub node %s has no resistor connections\n",
report->warn("sub node %s has no resistor connections",
node->name(network));
else if (res_count == 1)
report->warn("sub node %s has one resistor connection\n",
report->warn("sub node %s has one resistor connection",
node->name(network));
}
#endif
+3 -3
View File
@@ -802,7 +802,7 @@ pos_integer:
INTEGER
{ int value = $1;
if (value < 0)
sta::spef_reader->warn("%d is not positive.\n", value);
sta::spef_reader->warn(21, "%d is not positive.", value);
$$ = value;
}
;
@@ -811,13 +811,13 @@ pos_number:
INTEGER
{ float value = static_cast<float>($1);
if (value < 0)
sta::spef_reader->warn("%.4f is not positive.\n", value);
sta::spef_reader->warn(22, "%.4f is not positive.", value);
$$ = value;
}
| FLOAT
{ float value = static_cast<float>($1);
if (value < 0)
sta::spef_reader->warn("%.4f is not positive.\n", value);
sta::spef_reader->warn(23, "%.4f is not positive.", value);
$$ = value;
}
;
+18 -18
View File
@@ -164,7 +164,7 @@ SpefReader::setBusBrackets(char left, char right)
|| (left == '<' && right == '>')
|| (left == ':' && right == '\0')
|| (left == '.' && right == '\0')))
warn("illegal bus delimiters.\n");
warn(167, "illegal bus delimiters.");
bus_brkt_left_ = left;
bus_brkt_right_ = right;
}
@@ -231,11 +231,11 @@ SpefReader::incrLine()
}
void
SpefReader::warn(const char *fmt, ...)
SpefReader::warn(int id, const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
report_->vfileWarn(filename_, line_, fmt, args);
report_->vfileWarn(id, filename_, line_, fmt, args);
va_end(args);
}
@@ -248,7 +248,7 @@ SpefReader::setTimeScale(float scale,
else if (stringEq(units, "PS"))
time_scale_ = scale * 1E-12F;
else
warn("unknown units %s.\n", units);
warn(168, "unknown units %s.", units);
stringDelete(units);
}
@@ -261,7 +261,7 @@ SpefReader::setCapScale(float scale,
else if (stringEq(units, "FF"))
cap_scale_ = scale * 1E-15F;
else
warn("unknown units %s.\n", units);
warn(168, "unknown units %s.", units);
stringDelete(units);
}
@@ -274,7 +274,7 @@ SpefReader::setResScale(float scale,
else if (stringEq(units, "KOHM"))
res_scale_ = scale * 1E+3F;
else
warn("unknown units %s.\n", units);
warn(170, "unknown units %s.", units);
stringDelete(units);
}
@@ -289,7 +289,7 @@ SpefReader::setInductScale(float scale,
else if (stringEq(units, "UH"))
induct_scale_ = scale * 1E-6F;
else
warn("unknown units %s.\n", units);
warn(168, "unknown units %s.", units);
stringDelete(units);
}
@@ -312,7 +312,7 @@ SpefReader::nameMapLookup(char *name)
if (exists)
return mapped_name;
else {
warn("no name map entry for %d.\n", index);
warn(169, "no name map entry for %d.", index);
return 0;
}
}
@@ -331,7 +331,7 @@ SpefReader::portDirection(char *spef_dir)
else if (stringEq(spef_dir, "B"))
direction = PortDirection::bidirect();
else
warn("unknown port direction %s.\n", spef_dir);
warn(170, "unknown port direction %s.", spef_dir);
return direction;
}
@@ -357,15 +357,15 @@ SpefReader::findPin(char *name)
if (inst) {
pin = network_->findPin(inst, port_name);
if (pin == nullptr)
warn("pin %s not found.\n", name);
warn(171, "pin %s not found.", name);
}
else
warn("instance %s not found.\n", name);
warn(172, "instance %s not found.", name);
}
else {
pin = findPortPinRelative(name);
if (pin == nullptr)
warn("pin %s not found.\n", name);
warn(173, "pin %s not found.", name);
}
}
return pin;
@@ -379,7 +379,7 @@ SpefReader::findNet(char *name)
if (name) {
net = findNetRelative(name);
if (net == nullptr)
warn("net %s not found.\n", name);
warn(174, "net %s not found.", name);
}
return net;
}
@@ -489,7 +489,7 @@ SpefReader::findParasiticNode(char *name)
findParasiticNode(name, node, ext_net, ext_node_id, ext_pin);
if (node == nullptr
&& (ext_net || ext_pin))
warn("%s not connected to net %s.\n", name, network_->pathName(net_));
warn(175, "%s not connected to net %s.", name, network_->pathName(net_));
return node;
}
@@ -524,7 +524,7 @@ SpefReader::findParasiticNode(char *name,
else {
// Replace delimiter for error message.
*delim = delimiter_;
warn("pin %s not found.\n", name);
warn(176, "pin %s not found.", name);
}
}
else {
@@ -544,7 +544,7 @@ SpefReader::findParasiticNode(char *name,
}
}
else
warn("node %s not a pin or net:number\n", name);
warn(177, "node %s not a pin or net:number", name);
}
}
}
@@ -559,7 +559,7 @@ SpefReader::findParasiticNode(char *name,
ext_pin = pin;
}
else
warn("pin %s not found.\n", name);
warn(178, "pin %s not found.", name);
}
}
}
@@ -720,7 +720,7 @@ void spefFlushBuffer();
int
SpefParse_error(const char *msg)
{
sta::spef_reader->warn("%s.\n", msg);
sta::spef_reader->warn(179, "%s.", msg);
spefFlushBuffer();
return 0;
}
+4 -2
View File
@@ -81,8 +81,10 @@ public:
size_t max_size);
// Translate from spf/spef namespace to sta namespace.
char *translated(const char *token);
void warn(const char *fmt, ...)
__attribute__((format (printf, 2, 3)));
void warn(int id,
const char *fmt,
...)
__attribute__((format (printf, 3, 4)));
void setBusBrackets(char left,
char right);
void setTimeScale(float scale,