]> granicus.if.org Git - clang/commitdiff
Delay record type's debug info emission, in -flimit-debug-info mode, if member expres...
authorDevang Patel <dpatel@apple.com>
Fri, 22 Oct 2010 18:56:27 +0000 (18:56 +0000)
committerDevang Patel <dpatel@apple.com>
Fri, 22 Oct 2010 18:56:27 +0000 (18:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117127 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGExprCXX.cpp

index 478b95ae3996e632143cfbd3866a262080fb9b84..2a88d339978a881c0180547c8e2e2391411ab259 100644 (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(),