summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarseny.kapoulkine@gmail.com <arseny.kapoulkine@gmail.com@99668b35-9821-0410-8761-19e4c4f06640>2012-03-15 07:08:32 +0000
committerarseny.kapoulkine@gmail.com <arseny.kapoulkine@gmail.com@99668b35-9821-0410-8761-19e4c4f06640>2012-03-15 07:08:32 +0000
commit800288d351c606b3a67409949a19c8208a499b32 (patch)
tree393250629c15daae8591c6b4d693925d811adee0
parent276aee800a86ac7e5b9931322de515c854bd5e19 (diff)
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
-rw-r--r--src/pugixml.cpp13
1 files 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)