diff options
author | Eric Christopher <echristo@apple.com> | 2012-03-30 05:42:12 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2012-03-30 05:42:12 +0000 |
commit | 96579c43e777b9dea81dc56c8074b3755df00e27 (patch) | |
tree | bfae92049918fb21df662b7cc65be373a80673f4 /lib/CodeGen/CGDebugInfo.cpp | |
parent | 5228982f07d3420672060b2429a797b0cd3e00d5 (diff) |
Revert previous commit changing location information to see if this
is causing the gdb test failures on the bots.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153727 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGDebugInfo.cpp')
-rw-r--r-- | lib/CodeGen/CGDebugInfo.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index 780993ac92..af55a86a59 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -1969,11 +1969,9 @@ void CGDebugInfo::EmitFunctionStart(GlobalDecl GD, QualType FnType, FnBeginRegionCount.push_back(LexicalBlockStack.size()); const Decl *D = GD.getDecl(); - // Use the location of the declaration. - SourceLocation Loc = D->getLocation(); unsigned Flags = 0; - llvm::DIFile Unit = getOrCreateFile(Loc); + llvm::DIFile Unit = getOrCreateFile(CurLoc); llvm::DIDescriptor FDContext(Unit); llvm::DIArray TParamsArray; if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) { @@ -2017,7 +2015,10 @@ void CGDebugInfo::EmitFunctionStart(GlobalDecl GD, QualType FnType, if (!Name.empty() && Name[0] == '\01') Name = Name.substr(1); - unsigned LineNo = getLineNumber(Loc); + // It is expected that CurLoc is set before using EmitFunctionStart. + // Usually, CurLoc points to the left bracket location of compound + // statement representing function body. + unsigned LineNo = getLineNumber(CurLoc); if (D->isImplicit()) Flags |= llvm::DIDescriptor::FlagArtificial; llvm::DISubprogram SPDecl = getFunctionDeclaration(D); |