Piotr Caban (@piotr) commented about dlls/msvcrt/exception_ptr.c:
+#include "windef.h" +#include "winternl.h" +#include "wine/exception.h" +#include "wine/debug.h" +#include "msvcrt.h" +#include "cxx.h"
+WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
+/* std::exception_ptr class helpers */
+typedef exception eexception; +CREATE_EXCEPTION_OBJECT(eexception)
+DEFINE_CXX_EXCEPTION0( eexception, eexception_dtor )
It would be good to find a way to use one exception implementation per module. During exception catch the "fast path" compares pointers, and only if there's no match, whole mangled names are compared. Also there might be an application that does pointers comparison in theory.
It's probably best to add small helper to throws the exception that will be duplicated in msvcrt and concrt sources.