Tristate: Fix missing fileline on some errors

This commit is contained in:
Wilson Snyder 2009-12-21 08:54:39 -05:00
parent 9b0d26aedd
commit b4f805b4e9

View File

@ -131,7 +131,7 @@ private:
outrefp = outp->castSel()->fromp()->castVarRef(); outrefp = outp->castSel()->fromp()->castVarRef();
width = outp->castSel()->widthConst(); width = outp->castSel()->widthConst();
} else { } else {
v3error("Can't find LHS varref"); nodep->v3error("Can't find LHS varref");
} }
outrefp->lvalue(true); outrefp->lvalue(true);
AstVar* varp = outrefp->varp(); AstVar* varp = outrefp->varp();
@ -185,7 +185,7 @@ private:
} else if (outp->castSel()) { } else if (outp->castSel()) {
outrefp = outp->castSel()->fromp()->castVarRef(); outrefp = outp->castSel()->fromp()->castVarRef();
} else { } else {
v3error("Can't find LHS varref"); nodep->v3error("Can't find LHS varref");
} }
createEnableVar(outp, outrefp, enrhsp, outrhsp->width()); createEnableVar(outp, outrefp, enrhsp, outrhsp->width());
@ -215,7 +215,7 @@ private:
enrhsp = new AstReplicate(enrhsp->fileline(), enrhsp, new AstConst(enrhsp->fileline(), V3Number(enrhsp->fileline(), 32, enp->width()))); enrhsp = new AstReplicate(enrhsp->fileline(), enrhsp, new AstConst(enrhsp->fileline(), V3Number(enrhsp->fileline(), 32, enp->width())));
enrhsp->width(enp->width(), enp->widthMin()); enrhsp->width(enp->width(), enp->widthMin());
} else { } else {
v3error("Don't know how to deal with selection logic wider than 1 bit"); enrhsp->v3error("Don't know how to deal with selection logic wider than 1 bit");
} }
} }
m_modp->addStmtp(enp); m_modp->addStmtp(enp);
@ -351,7 +351,7 @@ private:
// not sure what I should do here other than error that they are mixing low-Z and tristate drivers. // not sure what I should do here other than error that they are mixing low-Z and tristate drivers.
// The other scenerio, and probably more likely, is that they are using a high-Z construct that // The other scenerio, and probably more likely, is that they are using a high-Z construct that
// is not supported. Improving the high-Z detection logic will reduce the occurance of this failure. // is not supported. Improving the high-Z detection logic will reduce the occurance of this failure.
v3error("Mixing tristate and low-Z drivers. Perhaps you are using a high-Z construct not supported"); nodep->v3error("Mixing tristate and low-Z drivers. Perhaps you are using a high-Z construct not supported");
} else { } else {
UINFO(9, " No tristates found on " << lhsp <<endl); UINFO(9, " No tristates found on " << lhsp <<endl);
} }