[PATCH] D25448: [ubsan] Disable -fsanitize=vptr checks for devirtualized calls

2016-10-17 Thread John McCall via cfe-commits
rjmccall added a comment. In https://reviews.llvm.org/D25448#571941, @vsk wrote: > Thanks for your feedback so far, and sorry for the delayed response. > > In https://reviews.llvm.org/D25448#570014, @rjmccall wrote: > > > Wait, can you talk me through the bug here? > > > Derived inherits from Bas

Re: [PATCH] D25448: [ubsan] Disable -fsanitize=vptr checks for devirtualized calls

2016-10-17 Thread Richard Smith via cfe-commits
On 17 Oct 2016 12:06 pm, "Vedant Kumar via cfe-commits" < cfe-commits@lists.llvm.org> wrote: vsk added a comment. Thanks for your feedback so far, and sorry for the delayed response. In https://reviews.llvm.org/D25448#570014, @rjmccall wrote: > Wait, can you talk me through the bug here? Deri

[PATCH] D25448: [ubsan] Disable -fsanitize=vptr checks for devirtualized calls

2016-10-17 Thread Vedant Kumar via cfe-commits
vsk added a comment. Thanks for your feedback so far, and sorry for the delayed response. In https://reviews.llvm.org/D25448#570014, @rjmccall wrote: > Wait, can you talk me through the bug here? Derived inherits from Base1 and Base2. We upcast an instance of Derived to Base2, then call a met

[PATCH] D25448: [ubsan] Disable -fsanitize=vptr checks for devirtualized calls

2016-10-13 Thread John McCall via cfe-commits
rjmccall added a comment. Wait, can you talk me through the bug here? Why is final-based devirtualization here different from, say, user-directed devirtualization via a qualified method name? It sounds to me from your description that you're not sure why this is happening. If this indeed onl

[PATCH] D25448: [ubsan] Disable -fsanitize=vptr checks for devirtualized calls

2016-10-13 Thread Vedant Kumar via cfe-commits
vsk updated this revision to Diff 74606. vsk added a comment. - Remove the set of blacklisted object pointers; pass down a flag which indicates whether or not the member call check should be skipped. https://reviews.llvm.org/D25448 Files: lib/CodeGen/CGExpr.cpp lib/CodeGen/CGExprCXX.cpp

[PATCH] D25448: [ubsan] Disable -fsanitize=vptr checks for devirtualized calls

2016-10-13 Thread John McCall via cfe-commits
rjmccall requested changes to this revision. rjmccall added inline comments. This revision now requires changes to proceed. Comment at: lib/CodeGen/CodeGenFunction.h:379 + /// Set of object pointers which are blacklisted from the UB sanitizer. + llvm::SmallPtrSet SanitizerBaseP

[PATCH] D25448: [ubsan] Disable -fsanitize=vptr checks for devirtualized calls

2016-10-10 Thread Vedant Kumar via cfe-commits
vsk created this revision. vsk added reviewers: pcc, rjmccall. vsk added subscribers: krasin, cfe-commits. ubsan reports a false positive 'invalid member call' diagnostic on the following example (PR30478): struct Base1 { virtual int f1() { return 1; } }; struct Base2 { virtual i