]> granicus.if.org Git - clang/commit
[ms-cxxabi] Implement member pointer emission and dereferencing
authorReid Kleckner <reid@kleckner.net>
Thu, 11 Apr 2013 18:13:19 +0000 (18:13 +0000)
committerReid Kleckner <reid@kleckner.net>
Thu, 11 Apr 2013 18:13:19 +0000 (18:13 +0000)
commita3609b0c7685346308ed2c8022f94949bbfe7cdf
tree6eed7cf92072db17d06badd27a0ff359f4b613bc
parent413549fbd85f507855f1adb355cb855faf4d8b55
[ms-cxxabi] Implement member pointer emission and dereferencing

Summary:
Handles all inheritance models for both data and function member
pointers.

Also implements isZeroInitializable() and refactors some of the null
member pointer code.

MSVC supports converting member pointers through virtual bases, which
clang does not (yet?) support.  Implementing that extension is covered
by http://llvm.org/15713

Reviewers: rjmccall

CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D613

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179305 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/DeclCXX.h
include/clang/AST/Type.h
lib/AST/MicrosoftCXXABI.cpp
lib/CodeGen/MicrosoftCXXABI.cpp
test/CodeGenCXX/microsoft-abi-member-pointers.cpp