summaryrefslogtreecommitdiffstats
path: root/multimc_pragma.h
diff options
context:
space:
mode:
Diffstat (limited to 'multimc_pragma.h')
-rw-r--r--multimc_pragma.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/multimc_pragma.h b/multimc_pragma.h
new file mode 100644
index 00000000..4650e4da
--- /dev/null
+++ b/multimc_pragma.h
@@ -0,0 +1,49 @@
+#pragma once
+
+// This is here to keep MSVC from spamming the build output with nonsense
+// Call it public domain.
+
+#ifdef _MSC_VER
+ // 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'
+ // C4251 can be ignored in Microsoft Visual C++ 2005 if you are deriving from a type
+ // in the Standard C++ Library, compiling a debug release (/MTd) and where the compiler
+ // error message refers to _Container_base.
+ // Shows up when you export classes that use STL types. Stupid.
+ // #pragma warning( disable: 4251 )
+
+ // C4273 - inconsistent DLL linkage. how about none?
+ #pragma warning( disable: 4273 )
+
+ // don't display bogus 'deprecation' and 'unsafe' warnings.
+ // See the idiocy: http://msdn.microsoft.com/en-us/magazine/cc163794.aspx
+ #define _CRT_SECURE_NO_DEPRECATE
+ #define _SCL_SECURE_NO_DEPRECATE
+ // Let me demonstrate:
+ /**
+ * [peterix@peterix dfhack]$ man wcscpy_s
+ * No manual entry for wcscpy_s
+ *
+ * Proprietary extensions.
+ */
+ //'function': was declared deprecated
+ #pragma warning( disable: 4996 )
+
+ // disable stupid - forcing value to bool 'true' or 'false' (performance warning).
+ // When I do this, it's intentional. Always.
+ #pragma warning( disable: 4800 )
+
+ // disable more stupid - The compiler ignored an unrecognized pragma. GOOD JOB, DON'T SPAM ME WITH THAT
+ #pragma warning( disable: 4068 )
+
+ // no signed value outside enum range bs
+ //#pragma warning( disable: 4341)
+
+ // just shut up already - conversion between types loses precision
+ //#pragma warning( disable: 4244)
+
+ // signed/unsigned mismatch
+ //#pragma warning( disable: 4018)
+
+ // nonstandard extension used: enum 'df::whatever::etc' used in qualified name
+ //#pragma warning( disable: 4482)
+#endif