diff --git a/include/libxml/xmlversion.h.in b/include/libxml/xmlversion.h.in index 04a50163..90b8c4e1 100644 --- a/include/libxml/xmlversion.h.in +++ b/include/libxml/xmlversion.h.in @@ -499,13 +499,23 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version); * * Macro used to ignore pointer cast warnings that can't be worked around. */ -#define XML_IGNORE_FPTR_CAST_WARNINGS +#if defined (_MSC_VER) && (_MSC_VER >= 1400) +# define XML_IGNORE_FPTR_CAST_WARNINGS __pragma(warning(push)) +#else +# define XML_IGNORE_FPTR_CAST_WARNINGS +#endif /** - * LIBXML_POP_WARNINGS: + * XML_POP_WARNINGS: * * Macro used to restore warnings state. */ -#define XML_POP_WARNINGS +#ifndef XML_POP_WARNINGS +# if defined (_MSC_VER) && (_MSC_VER >= 1400) +# define XML_POP_WARNINGS __pragma(warning(pop)) +# else +# define XML_POP_WARNINGS +# endif +#endif #endif /* __GNUC__ */ #ifdef __cplusplus diff --git a/python/libxml_wrap.h b/python/libxml_wrap.h index 2ba7571a..f4c3aee7 100644 --- a/python/libxml_wrap.h +++ b/python/libxml_wrap.h @@ -68,6 +68,10 @@ #define XML_IGNORE_DEPRECATION_WARNINGS \ _Pragma("GCC diagnostic push") \ _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif defined (_MSC_VER) && (_MSC_VER >= 1400) +#define XML_IGNORE_DEPRECATION_WARNINGS \ + __pragma(warning(push)) \ + __pragma(warning(disable : 4996)) #else #define XML_IGNORE_DEPRECATION_WARNINGS #endif