diff options
author | Piotr Padlewski <prazek@google.com> | 2015-10-02 22:12:40 +0000 |
---|---|---|
committer | Piotr Padlewski <prazek@google.com> | 2015-10-02 22:12:40 +0000 |
commit | 276a78d860cbe376202d3251a1f490b0da7f2f7e (patch) | |
tree | ef6ac2f6a4e0b0b69d1d75731586decdb58f5fc4 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | dc9b2cfc5013684456ec7d632eaa2edf7c030f2b (diff) | |
download | llvm-276a78d860cbe376202d3251a1f490b0da7f2f7e.zip llvm-276a78d860cbe376202d3251a1f490b0da7f2f7e.tar.gz llvm-276a78d860cbe376202d3251a1f490b0da7f2f7e.tar.bz2 |
Emiting invariant.group.barrier for ctors bugfix
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 bug caused clang call pure virtual functions when called from
constructor body.
http://reviews.llvm.org/D13373
llvm-svn: 249197
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions