sneedmc/multimc_pragma.h

50 lines
1.7 KiB
C

#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