]> granicus.if.org Git - clang/commit
When emitting complete destructors for classes with virtual bases, compute
authorJohn McCall <rjmccall@apple.com>
Tue, 16 Feb 2010 04:15:37 +0000 (04:15 +0000)
committerJohn McCall <rjmccall@apple.com>
Tue, 16 Feb 2010 04:15:37 +0000 (04:15 +0000)
commitbff225ecf77fb891596ecb1b27196310d268365e
treed21e0d480142c791551f07cdb6b1651331d340bb
parentbf0ee354163f87623a4b60412544243911332343
When emitting complete destructors for classes with virtual bases, compute
the offset to the virtual bases statically inside of relying on the virtual
base offsets in the object's vtable(s).  This is both more efficient and
sound against the destructor's manipulation of the vtables.

Also extract a few helper routines.

Oh and we seem to pass all tests with an optimized clang now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96327 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGClass.cpp
lib/CodeGen/CodeGenFunction.h