summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2014-01-05 01:34:12 +0000
committerCraig Topper <craig.topper@gmail.com>2014-01-05 01:34:12 +0000
commit62fe07a1ac8ec02f60a73a4b6914f0ef964f62ef (patch)
tree95222bca3c6d9aba66a40037e1995aa8b8f5652e
parent00e9cfeaf73330ed21404c9a11d104459488eb91 (diff)
downloadllvm-62fe07a1ac8ec02f60a73a4b6914f0ef964f62ef.tar.gz
llvm-62fe07a1ac8ec02f60a73a4b6914f0ef964f62ef.tar.bz2
llvm-62fe07a1ac8ec02f60a73a4b6914f0ef964f62ef.tar.xz
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
-rw-r--r--utils/TableGen/DisassemblerEmitter.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/utils/TableGen/DisassemblerEmitter.cpp b/utils/TableGen/DisassemblerEmitter.cpp
index 5a2a41b456..0020de6528 100644
--- a/utils/TableGen/DisassemblerEmitter.cpp
+++ b/utils/TableGen/DisassemblerEmitter.cpp
@@ -117,9 +117,10 @@ void EmitDisassembler(RecordKeeper &Records, raw_ostream &OS) {
for (unsigned i = 0, e = numberedInstructions.size(); i != e; ++i)
RecognizableInstr::processInstr(Tables, *numberedInstructions[i], i);
- if (Tables.hasConflicts())
- PrintFatalError(Target.getTargetRecord()->getLoc(),
- "Primary decode conflict");
+ if (Tables.hasConflicts()) {
+ PrintError(Target.getTargetRecord()->getLoc(), "Primary decode conflict");
+ return;
+ }
Tables.emit(OS);
return;