From 401c916c8aba7f48d8ed153be07fa9baac7b88f8 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Fri, 22 Oct 2010 18:56:27 +0000 Subject: [PATCH] Delay record type's debug info emission, in -flimit-debug-info mode, if member expression's base is call expr. llvm-svn: 117127 --- clang/lib/CodeGen/CGExprCXX.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/clang/lib/CodeGen/CGExprCXX.cpp b/clang/lib/CodeGen/CGExprCXX.cpp index 478b95ae3996..2a88d339978a 100644 --- a/clang/lib/CodeGen/CGExprCXX.cpp +++ b/clang/lib/CodeGen/CGExprCXX.cpp @@ -90,7 +90,8 @@ RValue CodeGenFunction::EmitCXXMemberCallExpr(const CXXMemberCallExpr *CE, const CXXMethodDecl *MD = cast(ME->getMemberDecl()); CGDebugInfo *DI = getDebugInfo(); - if (DI && CGM.getCodeGenOpts().LimitDebugInfo) { + if (DI && CGM.getCodeGenOpts().LimitDebugInfo + && !isa(ME->getBase())) { QualType PQTy = ME->getBase()->IgnoreParenImpCasts()->getType(); if (const PointerType * PTy = dyn_cast(PQTy)) { DI->getOrCreateRecordType(PTy->getPointeeType(),