Don't use PrintFatalError(which calls exit) for 'Primary decode conflict'. Just skip emitting the table. This way the main function will delete the output file instead of it remaining empty and confusing dependency checks if build is invoked a second time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198529 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Craig Topper 2014-01-05 01:34:12 +00:00
parent 00e9cfeaf7
commit 62fe07a1ac

View File

@ -117,9 +117,10 @@ void EmitDisassembler(RecordKeeper &Records, raw_ostream &OS) {
for (unsigned i = 0, e = numberedInstructions.size(); i != e; ++i) for (unsigned i = 0, e = numberedInstructions.size(); i != e; ++i)
RecognizableInstr::processInstr(Tables, *numberedInstructions[i], i); RecognizableInstr::processInstr(Tables, *numberedInstructions[i], i);
if (Tables.hasConflicts()) if (Tables.hasConflicts()) {
PrintFatalError(Target.getTargetRecord()->getLoc(), PrintError(Target.getTargetRecord()->getLoc(), "Primary decode conflict");
"Primary decode conflict"); return;
}
Tables.emit(OS); Tables.emit(OS);
return; return;