summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2010-09-14 04:27:38 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2010-09-14 04:27:38 +0000
commit511dce004ed03f3a9d6e8a3948cc2cc5eb3b4feb (patch)
tree7ca5f1d0c15e5e9c5f58fab9333c5777daf87e45
parente7d173af8922d81da12a1f8906a88f3083b246d8 (diff)
downloadbcm5719-llvm-511dce004ed03f3a9d6e8a3948cc2cc5eb3b4feb.tar.gz
bcm5719-llvm-511dce004ed03f3a9d6e8a3948cc2cc5eb3b4feb.zip
CBackend: Fix MSVC build.
This may produce warnings on MSVS, but it's better than failures. llvm-svn: 113834
-rw-r--r--llvm/lib/Target/CBackend/CBackend.cpp4
-rw-r--r--llvm/utils/TableGen/IntrinsicEmitter.cpp8
2 files changed, 8 insertions, 4 deletions
diff --git a/llvm/lib/Target/CBackend/CBackend.cpp b/llvm/lib/Target/CBackend/CBackend.cpp
index 8e84ed36667..49391c3387d 100644
--- a/llvm/lib/Target/CBackend/CBackend.cpp
+++ b/llvm/lib/Target/CBackend/CBackend.cpp
@@ -50,6 +50,10 @@
#include "llvm/System/Host.h"
#include "llvm/Config/config.h"
#include <algorithm>
+// Some ms header decided to define setjmp as _setjmp, undo this for this file.
+#ifdef _MSC_VER
+#undef setjmp
+#endif
using namespace llvm;
extern "C" void LLVMInitializeCBackendTarget() {
diff --git a/llvm/utils/TableGen/IntrinsicEmitter.cpp b/llvm/utils/TableGen/IntrinsicEmitter.cpp
index abd221d1942..c2aabf7116e 100644
--- a/llvm/utils/TableGen/IntrinsicEmitter.cpp
+++ b/llvm/utils/TableGen/IntrinsicEmitter.cpp
@@ -69,15 +69,15 @@ void IntrinsicEmitter::run(raw_ostream &OS) {
void IntrinsicEmitter::EmitPrefix(raw_ostream &OS) {
OS << "// VisualStudio defines setjmp as _setjmp\n"
"#if defined(_MSC_VER) && defined(setjmp)\n"
- "#define setjmp_undefined_for_visual_studio\n"
- "#undef setjmp\n"
+ "# pragma push_macro(\"setjmp\")\n"
+ "# undef setjmp\n"
"#endif\n\n";
}
void IntrinsicEmitter::EmitSuffix(raw_ostream &OS) {
- OS << "#if defined(_MSC_VER) && defined(setjmp_undefined_for_visual_studio)\n"
+ OS << "#if defined(_MSC_VER)\n"
"// let's return it to _setjmp state\n"
- "#define setjmp _setjmp\n"
+ "# pragma pop_macro(\"setjmp\")\n"
"#endif\n\n";
}
OpenPOWER on IntegriCloud