llvm-project/clang/lib
David Majnemer 0c0b6d9ac6 MS ABI: Properly call global delete when invoking virtual destructors
Summary:
The Itanium ABI approach of using offset-to-top isn't possible with the
MS ABI, it doesn't have that kind of information lying around.

Instead, we do the following:
- Call the virtual deleting destructor with the "don't delete the object
  flag" set.  The virtual deleting destructor will return a pointer to
  'this' adjusted to the most derived class.
- Call the global delete using the adjusted 'this' pointer.

Reviewers: rnk

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D5996

llvm-svn: 220993
2014-10-31 20:09:12 +00:00
..
ARCMigrate Objective-C SDK modernization. import Foundation even 2014-10-09 22:04:27 +00:00
AST Fix the build 2014-10-31 17:18:09 +00:00
ASTMatchers Add valueDecl() matcher. 2014-10-28 13:33:58 +00:00
Analysis Remove unused member variable. 2014-10-21 04:19:18 +00:00
Basic [PowerPC] Initial VSX intrinsic support, with min/max for vector double 2014-10-31 19:19:24 +00:00
CodeGen MS ABI: Properly call global delete when invoking virtual destructors 2014-10-31 20:09:12 +00:00
Driver Rename 'DarwinStaticLib' to 'DarwinLibName' 2014-10-31 00:08:57 +00:00
Edit Edit: Do not extend a removal to include trailing whitespace if we're at the end 2014-09-15 11:47:10 +00:00
Format clang-format: [Java] Improve line breaks around annotations. 2014-10-31 18:23:49 +00:00
Frontend [libclang] Disable spell-checking and warnings during code-completion since they are not needed. 2014-10-31 16:44:32 +00:00
FrontendTool Provide a BuryPointer for unique_ptrs. 2014-08-29 16:53:14 +00:00
Headers [PowerPC] Initial VSX intrinsic support, with min/max for vector double 2014-10-31 19:19:24 +00:00
Index [CMake] Prune redundant libdeps. 2014-10-30 01:37:44 +00:00
Lex Fix warning in Altivec code when building with GCC 4.8.2 on Ubuntu 14.04. 2014-10-29 14:42:12 +00:00
Parse Remove a couple typedefs for things in the clang namespace with the same name. Remove a typedef that matches an identical one in the clang namespace. 2014-10-31 06:57:07 +00:00
Rewrite Trim some includes. NFC. 2014-10-29 22:13:46 +00:00
Sema C++-11 [qoi]. Do not warn on missing 'verride' on use of 2014-10-31 19:56:27 +00:00
Serialization Remove CastKind typedef from CastExpr since CastKind is in the clang namespace. 2014-10-31 06:57:10 +00:00
StaticAnalyzer Add the initial TypoExpr AST node for delayed typo correction. 2014-10-27 18:07:20 +00:00
Tooling [CMake] Prune redundant libdeps. 2014-10-30 01:37:44 +00:00
CMakeLists.txt Fix build with various feature flag combinations 2014-07-14 22:17:22 +00:00
Makefile Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00