Delay record type's debug info emission, in -flimit-debug-info mode, if member expression's base is call expr.

llvm-svn: 117127
This commit is contained in:
Devang Patel 2010-10-22 18:56:27 +00:00
parent f48719f1b5
commit 401c916c8a
1 changed files with 2 additions and 1 deletions

View File

@ -90,7 +90,8 @@ RValue CodeGenFunction::EmitCXXMemberCallExpr(const CXXMemberCallExpr *CE,
const CXXMethodDecl *MD = cast<CXXMethodDecl>(ME->getMemberDecl());
CGDebugInfo *DI = getDebugInfo();
if (DI && CGM.getCodeGenOpts().LimitDebugInfo) {
if (DI && CGM.getCodeGenOpts().LimitDebugInfo
&& !isa<CallExpr>(ME->getBase())) {
QualType PQTy = ME->getBase()->IgnoreParenImpCasts()->getType();
if (const PointerType * PTy = dyn_cast<PointerType>(PQTy)) {
DI->getOrCreateRecordType(PTy->getPointeeType(),