summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-09-10 21:52:00 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-09-10 21:52:00 +0000
commit9df56372e8eaaefc50a9ecae66a83e608d7a5eb6 (patch)
treefa4001b27f49f5c8fa09e3a0e39bf4d30753f4ad /clang/lib/CodeGen/CGDebugInfo.cpp
parente0b44040aaa48a6f0b84ea18beffc7de33078731 (diff)
downloadbcm5719-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.cpp5
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(
OpenPOWER on IntegriCloud