# Disabled warnings
add_compile_options(-Wno-unused-private-field)
-add_compile_options(-Wno-implicit-exception-spec-mismatch)
# A derived class defines a virtual method with the same name as its base
# class, but different set of parameters.
add_compile_options(-Wno-overloaded-virtual)
#define sizeofmember(c,m) (sizeof(((c*)0)->m))
#endif
+#if defined(_MSC_VER) && _MSC_VER < 1900
+#define NOEXCEPT
+#else
+#define NOEXCEPT noexcept
+#endif
+
//=--------------------------------------------------------------------------=
// Prefast helpers.
//
operator new[](size_t n);
void __cdecl
-operator delete(void *p);
+operator delete(void *p) NOEXCEPT;
void __cdecl
-operator delete[](void *p);
+operator delete[](void *p) NOEXCEPT;
#ifdef _DEBUG_IMPL
HRESULT _OutOfMemory(LPCSTR szFile, int iLine);
__attribute__((visibility("hidden")))
#endif
void __cdecl
-operator delete(void *p)
+operator delete(void *p) NOEXCEPT
{
STATIC_CONTRACT_NOTHROW;
STATIC_CONTRACT_GC_NOTRIGGER;
__attribute__((visibility("hidden")))
#endif
void __cdecl
-operator delete[](void *p)
+operator delete[](void *p) NOEXCEPT
{
STATIC_CONTRACT_NOTHROW;
STATIC_CONTRACT_GC_NOTRIGGER;