[PATCH] D90719: [DebugInfo] Modify ctor homing as workaround for unconstructed libcxx types
Louis Dionne via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 17 14:07:29 PST 2020
ldionne added a comment.
Sorry, I read this last week and probably forgot to reply.
I think the right thing to do is to fix the UB, which appears to mean fixing libc++. However, can you take a look at whether defining these macros help?
// Fix undefined behavior in how __tree stores its end and parent nodes.
# define _LIBCPP_ABI_TREE_REMOVE_NODE_POINTER_UB
// Fix undefined behavior in how __hash_table stores its pointer types.
# define _LIBCPP_ABI_FIX_UNORDERED_NODE_POINTER_UB
# define _LIBCPP_ABI_FORWARD_LIST_REMOVE_NODE_POINTER_UB
# define _LIBCPP_ABI_FIX_UNORDERED_CONTAINER_SIZE_TYPE
We have some known UB in our container types, but fixing that UB is an ABI break, so it's only enabled when some specific macros are turned on. I think you might be hitting that.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90719/new/
https://reviews.llvm.org/D90719
More information about the cfe-commits
mailing list