diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-09-10 21:52:00 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-09-10 21:52:00 +0000 |
commit | 9df56372e8eaaefc50a9ecae66a83e608d7a5eb6 (patch) | |
tree | fa4001b27f49f5c8fa09e3a0e39bf4d30753f4ad /clang/lib/CodeGen/CGDebugInfo.cpp | |
parent | e0b44040aaa48a6f0b84ea18beffc7de33078731 (diff) | |
download | bcm5719-llvm-9df56372e8eaaefc50a9ecae66a83e608d7a5eb6.tar.gz bcm5719-llvm-9df56372e8eaaefc50a9ecae66a83e608d7a5eb6.zip |
[MS ABI] Make member pointers return true for isIncompleteType
The type of a member pointer is incomplete if it has no inheritance
model. This lets us reuse more general logic already embedded in clang.
llvm-svn: 247346
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGDebugInfo.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp index 61993f8d542..83b5e01deef 100644 --- a/clang/lib/CodeGen/CGDebugInfo.cpp +++ b/clang/lib/CodeGen/CGDebugInfo.cpp @@ -1906,9 +1906,8 @@ llvm::DIType *CGDebugInfo::CreateType(const RValueReferenceType *Ty, llvm::DIType *CGDebugInfo::CreateType(const MemberPointerType *Ty, llvm::DIFile *U) { - uint64_t Size = CGM.getCXXABI().isTypeInfoCalculable(QualType(Ty, 0)) - ? CGM.getContext().getTypeSize(Ty) - : 0; + uint64_t Size = + !Ty->isIncompleteType() ? CGM.getContext().getTypeSize(Ty) : 0; llvm::DIType *ClassType = getOrCreateType(QualType(Ty->getClass(), 0), U); if (Ty->isMemberDataPointerType()) return DBuilder.createMemberPointerType( |