AlexVlx added a comment. In D157452#4586554 <https://reviews.llvm.org/D157452#4586554>, @rjmccall wrote:
> The path of least resistance here is that IRGen should just insert > conversions from the global AS to the default AS as part of evaluating > `typeid`. I haven't looked at it closely, but that seems to be what this > patch is doing. > > However, `std::type_info` is an interesting special case in that we actually > know statically that all objects of that type will be allocated in the global > AS, so there's really no reason to pass around pointers in the default AS; > `std::type_info *` should just default to being in the global AS. It'd be a > non-trivial feature in support of a somewhat uncommonly-used C++ feature, and > I can't tell how best to spend your time, *but*... if you're so inclined, I > think it would make a somewhat compelling feature to be able to declare a > default AS for a class type, which your target could then adopt in the > headers for `std::type_info`. I've reworked things along these lines, as both you and @yaxunl, thank you; turns out that what I was doing was unsound / would not catch all cases, whereas this does. As for the feature suggestion, that actually seems as if it would be very useful, beyond this application; I will add it to my TODO list, although I cannot promise to get to investigating it right away. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157452/new/ https://reviews.llvm.org/D157452 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits