[Lldb-commits] [PATCH] D139973: [llvm] Make llvm::Any similar to std::any
Sergei Barannikov via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Dec 19 03:58:48 PST 2022
barannikov88 added a comment.
In D139973#4004408 <https://reviews.llvm.org/D139973#4004408>, @jsilvanus wrote:
> I just checked on Godbolt that gcc 12.2 with libstdc++, clang 15.0 with both libstd++ and libc++ and MSVC 19.33 support `std::any` without RTTI.
> But gcc and clang do not provide `std::any::type` without RTTI though.
>
> Are you aware of any documentation on what can be relied on without RTTI?
It is surprising to me that std::any can work without RTTI. Never thought it could be implemented.
This "compare function pointer" trick is awesome, but it might not always work as explained in this <https://github.com/gcc-mirror/gcc/commit/aa573a6a3e165632103f2f8defb9768106db6a61> commit.
This question <https://stackoverflow.com/questions/45290296/stdany-across-shared-library-bounding-in-mingw> however, suggest that any_cast doesn't always work with RTTI either, which is weird.
I don't know of any other potential issues. std::visitor can't be used with std::any in absense of std::any::type, but that's minor, I think.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D139973/new/
https://reviews.llvm.org/D139973
More information about the lldb-commits
mailing list