diff --git a/src/V3Ast.cpp b/src/V3Ast.cpp index 24c4d0e12..9b406f816 100644 --- a/src/V3Ast.cpp +++ b/src/V3Ast.cpp @@ -1212,7 +1212,11 @@ void AstNode::v3errorEnd(std::ostringstream& str) const { const_cast(this)->dump(nsstr); nsstr << endl; } - m_fileline->v3errorEnd(nsstr, instanceStr()); + // Don't look for instance name when warning is disabled. + // In case of large number of warnings, this can + // take significant amount of time + m_fileline->v3errorEnd(nsstr, + m_fileline->warnIsOff(V3Error::errorCode()) ? "" : instanceStr()); } } diff --git a/test_regress/t/t_trace_open_wrong_order.cpp b/test_regress/t/t_trace_open_wrong_order.cpp index 4faa6dd5b..56dae22c3 100644 --- a/test_regress/t/t_trace_open_wrong_order.cpp +++ b/test_regress/t/t_trace_open_wrong_order.cpp @@ -17,7 +17,7 @@ int main(int argc, char** argv) { VerilatedVcdC tfp; Vt_trace_open_wrong_order dut; ctx.traceEverOn(true); - tfp.open("dump.vcd"); // Error! shall put to the next line! + tfp.open(VL_STRINGIFY(TEST_OBJ_DIR) "/dump.vcd"); // Error! shall put to the next line! dut.trace(&tfp, 99); // Error! tfp.dump(0); tfp.close();