chapuni added a subscriber: chapuni.
Comment at: lib/CodeGen/CGClass.cpp:1756
@@ +1755,3 @@
+ class SanitizeDtorVTable final : public EHScopeStack::Cleanup {
+const CXXDestructorDecl *Dtor;
+
It causes a warning in -Asserts. [-Wunused-private-field]
nmusgrave updated this revision to Diff 34851.
nmusgrave added a comment.
- Remove commented-out block.
http://reviews.llvm.org/D12712
Files:
lib/CodeGen/CGClass.cpp
test/CodeGenCXX/sanitize-dtor-derived-class.cpp
test/CodeGenCXX/sanitize-dtor-vtable.cpp
Index:
nmusgrave updated this revision to Diff 34614.
nmusgrave marked 2 inline comments as done.
nmusgrave added a comment.
- Fixed testing callback emission order to account for vptr.
http://reviews.llvm.org/D12712
Files:
lib/CodeGen/CGClass.cpp
test/CodeGenCXX/sanitize-dtor-derived-class.cpp
nmusgrave updated this revision to Diff 34617.
nmusgrave added a comment.
- Poison vtable in either complete or base dtor.
http://reviews.llvm.org/D12712
Files:
lib/CodeGen/CGClass.cpp
test/CodeGenCXX/sanitize-dtor-derived-class.cpp
test/CodeGenCXX/sanitize-dtor-vtable.cpp
Index:
nmusgrave updated this revision to Diff 34373.
nmusgrave added a comment.
- Cleaned up impl.
http://reviews.llvm.org/D12712
Files:
lib/CodeGen/CGClass.cpp
test/CodeGenCXX/sanitize-dtor-derived-class.cpp
test/CodeGenCXX/sanitize-dtor-vtable.cpp
Index:
nmusgrave updated this revision to Diff 34357.
nmusgrave added a comment.
- Fixed testing callback emission order to account for vptr. Vptr poisoned
after all virtual and member destructors are invoked, in order to prevent a
data race an on the virtual function invoked by a class instance.
nmusgrave marked an inline comment as done.
nmusgrave added a comment.
http://reviews.llvm.org/D12712
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eugenis added inline comments.
Comment at: lib/CodeGen/CGClass.cpp:1685
@@ +1684,3 @@
+// function
+Poison(CGF, VTablePtr, PoisonSize);
+ }
Did you mean to move this chunk to the other cleanup class?
Is there a test that would fail if vptr is
eugenis added inline comments.
Comment at: lib/CodeGen/CGClass.cpp:1671
@@ -1670,1 +1670,3 @@
+ ASTContext = CGF.getContext();
+ // Poison vtable and vtable ptr if they exist for this class.
You are poisoning the vtable pointer in the base