[PATCH] D42220: libcxx: Move bad_cast and bad_typeid member functions inline on Windows.

Peter Collingbourne via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 17 18:05:28 PST 2018


pcc added a comment.

> Is this really a "fix" or does it just hide the ODR issue?

You're right, there is an ODR issue. I'll see if it can be solved by using the definitions of these classes from vcruntime_typeinfo.h on Windows. Fixing this in the case where `_LIBCPP_NO_VCRUNTIME` is defined seems more tricky; I'll leave the situation as is there.

> I'd like to call attention to http://libcxxabi.llvm.org, specifically the FAQ entry: Why are the destructors for the standard exception classes defined in libc++abi? They're just empty, can't they be defined inline?

I have read that FAQ entry, but it doesn't seem directly applicable on Windows whose ABI uses a string comparison for type_info comparisons.


https://reviews.llvm.org/D42220





More information about the llvm-commits mailing list