why libcxxabi has no function called `get_adjusted_ptr` as gcc does


Now I face a problem about EH in C++ that there is no equivalent get_adjusted_ptr () function in libcxxabi to compute the thrown object address. You know that if the thrown object is a pointer, you should not return the address of thrown object as usual, but the value of that. So how does libcxxabi do this?

I have been looking for the same semantic function as get_adjusted_ptr() do in libcxxabi, but I have not found that.

I know that get_adjusted_ptr() uses _is_pointer() function which is in type_info class to judge whether the object is a pointer, but that function is only in libstdc++. So how can I do to judge and implement the similar functionality like get_adjusted_ptr().

Thanks a lot

I believe what you are looking for is here: https://github.com/llvm-mirror/libcxxabi/blob/master/src/private_typeinfo.cpp#L363