about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/SuppressLLVMWarnings.h
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/SuppressLLVMWarnings.h')
-rw-r--r--compiler/rustc_llvm/llvm-wrapper/SuppressLLVMWarnings.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/SuppressLLVMWarnings.h b/compiler/rustc_llvm/llvm-wrapper/SuppressLLVMWarnings.h
new file mode 100644
index 00000000000..09ecfd54cd8
--- /dev/null
+++ b/compiler/rustc_llvm/llvm-wrapper/SuppressLLVMWarnings.h
@@ -0,0 +1,17 @@
+#ifndef _rustc_llvm_SuppressLLVMWarnings_h
+#define _rustc_llvm_SuppressLLVMWarnings_h
+
+// LLVM currently generates many warnings when compiled using MSVC. These
+// warnings make it difficult to diagnose real problems when working on C++
+// code, so we suppress them.
+
+#ifdef _MSC_VER
+#pragma warning(disable : 4530) // C++ exception handler used, but unwind
+                                // semantics are not enabled.
+#pragma warning(                                                               \
+    disable : 4624) // 'xxx': destructor was implicitly defined as deleted
+#pragma warning(                                                               \
+    disable : 4244) // conversion from 'xxx' to 'yyy', possible loss of data
+#endif
+
+#endif // _rustc_llvm_SuppressLLVMWarnings_h