AlexVlx added a comment. In D155870#4535425 <https://reviews.llvm.org/D155870#4535425>, @yaxunl wrote:
> `__dynamic_cast` is part of standard C++ library. If we ever implement it for > GPU, chances are we will use libc++abi with the same signature as other > targets, i.e., the 2nd and 3rd arguments are generic pointers. > > I feel it is safer to do an address space cast when calling the function > instead of changing its signature. That's a fair point, and one I admit to not having considered (I'm not sure this would harm linking in practice though, since `__dynamic_cast` is extern "C" and thus unmangled; it might lead to broken IR depending on how we codegen the body). The concern I have with doing the cast at the callsite is that there might be many callsites, and it's going to make things a bit noisier than they need to be (IMHO). Also, this is an internal implementation detail of the standard library, and not the interface that users are expected to touch; I wonder if given the target specific nature of these bits it wouldn't be natural for our future implementation to carry the AS in the signature? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155870/new/ https://reviews.llvm.org/D155870 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits