From 800288d351c606b3a67409949a19c8208a499b32 Mon Sep 17 00:00:00 2001 From: "arseny.kapoulkine@gmail.com" Date: Thu, 15 Mar 2012 07:08:32 +0000 Subject: Intel C++ 11 has the same warning pop bug... Disable warning popping on all Intel C++ versions. Fixes Intel C++ 11 compilation in PUGIXML_NO_STL mode. git-svn-id: http://pugixml.googlecode.com/svn/trunk@862 99668b35-9821-0410-8761-19e4c4f06640 --- src/pugixml.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/pugixml.cpp b/src/pugixml.cpp index c56135b..cd42544 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -50,7 +50,6 @@ #endif #ifdef __INTEL_COMPILER -# pragma warning(push) # pragma warning(disable: 177) // function was declared but never referenced # pragma warning(disable: 279) // controlling expression is constant # pragma warning(disable: 1478 1786) // function was declared "deprecated" @@ -9900,16 +9899,10 @@ namespace pugi # pragma option pop #endif -// Some Intel C++ versions (9, 10) do not properly keep warning state for function templates, +// Intel C++ does not properly keep warning state for function templates, // so popping warning state at the end of translation unit leads to warnings in the middle. -#if !defined(__INTEL_COMPILER) || __INTEL_COMPILER >= 1100 -# ifdef __INTEL_COMPILER -# pragma warning(pop) -# endif - -# ifdef _MSC_VER -# pragma warning(pop) -# endif +#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) +# pragma warning(pop) #endif // Undefine all local macros (makes sure we're not leaking macros in header-only mode) -- cgit v1.2.3