Message280329
About MSVC compiler:
https://msdn.microsoft.com/en-us/library/044swk7y.aspx
https://msdn.microsoft.com/en-us/library/2c8f766e.aspx
https://msdn.microsoft.com/en-us/library/d9x1s805.aspx
So both:
#pragma warning(push)
#pragma warning(disable: 4996)
/* Some code */
#pragma warning(pop)
And:
__pragma(warning(push))
__pragma(warning(disable: 4996))
/* Some code */
__pragma(warning(pop))
Would generally work, but only the second form is suitable for usage inside macros.
Updated proposition of Py_COMPILER_DIAGNOSTIC_* macros:
#if defined(__GNUC__) && ((__GNUC__ >= 5) || (__GNUC__ == 4) && (__GNUC_MINOR__ >= 6))
#define Py_COMPILER_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push")
#define Py_COMPILER_DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
#define Py_COMPILER_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop")
#elif defined(_MSC_VER) && _MSC_VER >= 1300
#define Py_COMPILER_DIAGNOSTIC_PUSH __pragma(warning(push))
#define Py_COMPILER_DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS __pragma(warning(disable: 4996))
#define Py_COMPILER_DIAGNOSTIC_POP __pragma(warning(pop))
#else
#define Py_COMPILER_DIAGNOSTIC_PUSH
#define Py_COMPILER_DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS
#define Py_COMPILER_DIAGNOSTIC_POP
#endif |
|
Date |
User |
Action |
Args |
2016-11-08 18:28:13 | Arfrever | set | recipients:
+ Arfrever, pitrou, vstinner, ezio.melotti, serhiy.storchaka, eryksun, Michael.Felt |
2016-11-08 18:28:13 | Arfrever | set | messageid: <1478629693.63.0.804250546116.issue19569@psf.upfronthosting.co.za> |
2016-11-08 18:28:13 | Arfrever | link | issue19569 messages |
2016-11-08 18:28:13 | Arfrever | create | |
|