]> granicus.if.org Git - clang/commitdiff
Set up appropriate context for member function.
authorDevang Patel <dpatel@apple.com>
Tue, 17 May 2011 00:20:09 +0000 (00:20 +0000)
committerDevang Patel <dpatel@apple.com>
Tue, 17 May 2011 00:20:09 +0000 (00:20 +0000)
Radar 9440721

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131441 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGDebugInfo.cpp

index 737668a7da157af0d57761c8f9decfa377d2684c..1c9d91a2e31d9446341845e9cd93825d43d49fdd 100644 (file)
@@ -1658,6 +1658,9 @@ void CGDebugInfo::EmitFunctionStart(GlobalDecl GD, QualType FnType,
     if (const NamespaceDecl *NSDecl =
         dyn_cast_or_null<NamespaceDecl>(FD->getDeclContext()))
       FDContext = getOrCreateNameSpace(NSDecl);
+    else if (const RecordDecl *RDecl =
+             dyn_cast_or_null<RecordDecl>(FD->getDeclContext()))
+      FDContext = getContextDescriptor(cast<Decl>(RDecl->getDeclContext()));
 
     // Collect template parameters.
     TParamsArray = CollectFunctionTemplateParams(FD, Unit);