aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2003-05-29 05:29:22 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2003-05-29 05:29:22 +0000
commit3f7b58bca077baf9a559543164f880089082f849 (patch)
tree7af63c8f02a759caacb88d108d2dd88e094fde92
parente5841daa7901154a018a93f863347e2e77f64abe (diff)
When TableGen finds an error in the SparcV9.td file, it exits with a non-zero
exit code. This, in turn, makes an empty file SparcV9CodeEmitter.inc, and only much later, produces a link error because the key function that TableGen creates isn't found. Using a temporary file in the middle forces a good .INC file to be generated by TableGen, and it will keep trying until you fix the input file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6392 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/SparcV9/Makefile5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Target/SparcV9/Makefile b/lib/Target/SparcV9/Makefile
index 96923f9865..8b946333c1 100644
--- a/lib/Target/SparcV9/Makefile
+++ b/lib/Target/SparcV9/Makefile
@@ -34,9 +34,12 @@ $(BUILD_ROOT)/Depend/Sparc.burm.d: $(BUILD_ROOT)/Depend/.dir
SparcV9CodeEmitter.cpp: SparcV9CodeEmitter.inc
+TEMP_EMITTER_INC = _temp_emitter.inc
+
SparcV9CodeEmitter.inc: SparcV9.td
@echo "TableGen-erating $@"
- cpp -P SparcV9.td | tblgen -gen-emitter > SparcV9CodeEmitter.inc
+ cpp -P SparcV9.td | tblgen -gen-emitter > $(TEMP_EMITTER_INC)
+ mv -f $(TEMP_EMITTER_INC) SparcV9CodeEmitter.inc
clean::
rm -f SparcV9CodeEmitter.inc