[clang] [llvm] [PAC] Fix address discrimination for type info vtable pointers (PR #102199)

Oliver Hunt via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 6 13:43:48 PDT 2024


ojhunt wrote:

Ok, it took me a moment to understand what was happening here - I had to talk to Ahmed because I didn't recognize the AddrDiscriminator_* enums and had assumed I'd forgotten them :D 

This needs to update `ItaniumRTTIBuilder::BuildVTablePointer` to take the storage address, and then use that provided address. Using any kind of signalling tags is too much of a footgun as you can easily end up accidentally (and silently) using a constant discriminator (as demonstrated by the existing code silently using no addr discriminator without being noticed :-O)

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


More information about the cfe-commits mailing list