[patch PR libstdc++/51135]: Fix [4.7 Regression] SIGSEGV during exception cleanup on win32

Marc Glisse marc.glisse@inria.fr
Mon Dec 12 13:51:00 GMT 2011


On Mon, 12 Dec 2011, Kai Tietz wrote:

> Index: gcc/libstdc++-v3/libsupc++/cxxabi.h
> ===================================================================
> --- gcc.orig/libstdc++-v3/libsupc++/cxxabi.h
> +++ gcc/libstdc++-v3/libsupc++/cxxabi.h
> @@ -51,6 +51,10 @@
> #include <bits/cxxabi_tweaks.h>
> #include <bits/cxxabi_forced.h>
>
> +#ifndef _GLIBCXX_USE_THISCALL_ON_DTOR
> +typedef void (*__cxa_dtor_type) (void *);
> +#endif
> +

This changes the type from a function with "C" linkage to one with "C++" 
linkage, is that on purpose?

There is a type __cxa_cdtor_type a couple lines below, which also seems 
used for destructors, but that one doesn't get __thiscall, that's 
confusing (but then there's probably a reason why it wasn't used in 
__cxa_throw).

(Note: feel free to ignore, those are questions not comments, I don't know 
this code)

-- 
Marc Glisse



More information about the Libstdc++ mailing list