With Visual C++ __config redefines _NOEXCEPT resulting in a warning:

ibcxx\include\__config(434) : warning C4005: '_NOEXCEPT' : macro
redefinition
        C:\Program Files (x86)\Microsoft Visual Studio
12.0\VC\INCLUDE\yvals.h(25) : see previous definition of '_NOEXCEPT'

I checked and at least Visual C++ 2012, 2013 define _NOEXCEPT in yvals.h.

This patch #ifndef _NOEXCEPT to avoid the warning.

Alternative solution could be to remove it completely, as Visual C++ seems
to supply it. Maybe it was for an older version of Visual C++.

Yaron
Index: __config
===================================================================
--- __config    (revision 198042)
+++ __config    (working copy)
@@ -431,7 +431,9 @@
 #define _ALIGNAS(x) __declspec(align(x))
 #define _LIBCPP_HAS_NO_VARIADICS
 
+#ifndef _NOEXCEPT
 #define _NOEXCEPT throw()
+#endif
 #define _NOEXCEPT_(x)
 
 #define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {
_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to