Please review asap.
This bug caused clang call pure virtual functions when called from constructor body.
Paths
| Differential D13373
Emiting invariant.group.barrier for ctors bugfix ClosedPublic Authored by Prazek on Oct 1 2015, 6:48 PM.
Details
Diff Detail Event TimelinePrazek updated this object. Comment Actions I can't meaningfully review this, but I see nothing wrong here.
rsmith edited edge metadata. Comment ActionsLGTM, but your commit message should be more descriptive than your current summary. Something like: Ensure that the vptr store in the most-derived constructor is not behind an invariant group barrier. Previously, the base-most vptr store would be the one behind no barrier, and that could result in the creator of the object thinking it had the base-most vtable. This revision is now accepted and ready to land.Oct 2 2015, 11:07 AM
Revision Contents
Diff 36382 lib/CodeGen/CGClass.cpp
test/CodeGenCXX/invariant.group-for-vptrs.cpp
test/CodeGenCXX/strict-vtable-pointers.cpp
|
"llvm::Value* const" --> "llvm::Value *const"