Wrap WIN32 #pragma warning(disable) inside push/pop

Exclude from MinGW, G++ doesn't understand these pragmas.
This commit is contained in:
Andrew Johnson
2016-02-05 13:30:26 -06:00
parent 18633288fb
commit ef2e6079ba
2 changed files with 15 additions and 6 deletions

View File

@@ -35,8 +35,6 @@
#define EPICSEXCEPTION_H_
#ifdef _WIN32
#pragma warning( push )
#pragma warning(disable: 4275) // warning C4275: non dll-interface class used as base for dll-interface class (std::logic_error)
#endif
#include <stdexcept>
@@ -67,6 +65,11 @@
# define EXCEPT_USE_NONE
#endif
#if defined(_WIN32) && !defined(_MINGW)
#pragma warning( push )
#pragma warning(disable: 4275) // warning C4275: non dll-interface class used as base for dll-interface class (std::logic_error)
#endif
namespace epics { namespace pvData {
@@ -228,7 +231,7 @@ private:
mutable std::string base_msg;
};
#ifdef _WIN32
#if defined(_WIN32) && !defined(_MINGW)
#pragma warning( pop )
#endif

View File

@@ -17,6 +17,10 @@
#ifdef _WIN32
#define NOMINMAX
#endif
#if defined(_WIN32) && !defined(_MINGW)
#pragma warning( push )
#pragma warning(disable: 4251)
#endif
@@ -126,7 +130,9 @@ typedef std::vector<std::string>::iterator StringArray_iterator;
typedef std::vector<std::string>::const_iterator StringArray_const_iterator;
}}
#if defined(_WIN32) && !defined(_MINGW)
#pragma warning( pop )
#endif
#endif /* PVTYPE_H */