[clang] [clang] Add builtin_get_vtable_pointer and virtual_member_address (PR #135469)

Oliver Hunt via cfe-commits cfe-commits at lists.llvm.org
Sun Apr 13 13:12:57 PDT 2025


ojhunt wrote:

> > I just noticed there's no documentation for `__builtin_virtual_member_address()` so I'm addressing that.
> > Due to code drift and time I realized that they disagree as to whether they should take `C*` or `C&` so I'm going to make them both accept either (existing code means we can't unify on one or the other, but also there's no real reason to not accept either and simply do the correct thing)
> 
> most of our builtins take pointers. Accepting both seems unwise. people might want to do interesting things in sfinae context and if we accept everything and anything it will end up causing more pain than it alleviates.

@AaronBallman Given we need to keep the reference argument to __virtual_member_address, would you like to support both, or remain as reference only?

https://github.com/llvm/llvm-project/pull/135469


More information about the cfe-commits mailing list