diff options
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGDebugInfo.cpp | 17 | 
1 files changed, 10 insertions, 7 deletions
| diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp index fd2f6dc..ca579c9 100644 --- a/clang/lib/CodeGen/CGDebugInfo.cpp +++ b/clang/lib/CodeGen/CGDebugInfo.cpp @@ -345,7 +345,7 @@ void CGDebugInfo::setLocation(SourceLocation Loc) {    if (Loc.isInvalid())      return; -  CurLoc = CGM.getContext().getSourceManager().getExpansionLoc(Loc); +  CurLoc = CGM.getContext().getSourceManager().getFileLoc(Loc);    // If we've changed files in the middle of a lexical scope go ahead    // and create a new lexical scope with file node if it's different @@ -572,7 +572,7 @@ llvm::DIFile *CGDebugInfo::getOrCreateFile(SourceLocation Loc) {      FileName = TheCU->getFile()->getFilename();      CSInfo = TheCU->getFile()->getChecksum();    } else { -    PresumedLoc PLoc = SM.getPresumedLoc(Loc); +    PresumedLoc PLoc = SM.getPresumedLoc(SM.getFileLoc(Loc));      FileName = PLoc.getFilename();      if (FileName.empty()) { @@ -599,7 +599,8 @@ llvm::DIFile *CGDebugInfo::getOrCreateFile(SourceLocation Loc) {      if (CSKind)        CSInfo.emplace(*CSKind, Checksum);    } -  return createFile(FileName, CSInfo, getSource(SM, SM.getFileID(Loc))); +  return createFile(FileName, CSInfo, +                    getSource(SM, SM.getFileID(SM.getFileLoc(Loc))));  }  llvm::DIFile *CGDebugInfo::createFile( @@ -654,7 +655,7 @@ unsigned CGDebugInfo::getLineNumber(SourceLocation Loc) {    if (Loc.isInvalid())      return 0;    SourceManager &SM = CGM.getContext().getSourceManager(); -  return SM.getPresumedLoc(Loc).getLine(); +  return SM.getPresumedLoc(SM.getFileLoc(Loc)).getLine();  }  unsigned CGDebugInfo::getColumnNumber(SourceLocation Loc, bool Force) { @@ -666,7 +667,8 @@ unsigned CGDebugInfo::getColumnNumber(SourceLocation Loc, bool Force) {    if (Loc.isInvalid() && CurLoc.isInvalid())      return 0;    SourceManager &SM = CGM.getContext().getSourceManager(); -  PresumedLoc PLoc = SM.getPresumedLoc(Loc.isValid() ? Loc : CurLoc); +  PresumedLoc PLoc = +      SM.getPresumedLoc(Loc.isValid() ? SM.getFileLoc(Loc) : CurLoc);    return PLoc.isValid() ? PLoc.getColumn() : 0;  } @@ -5002,7 +5004,7 @@ void CGDebugInfo::EmitLocation(CGBuilderTy &Builder, SourceLocation Loc) {    // Update our current location    setLocation(Loc); -  if (CurLoc.isInvalid() || CurLoc.isMacroID() || LexicalBlockStack.empty()) +  if (CurLoc.isInvalid() || LexicalBlockStack.empty())      return;    llvm::MDNode *Scope = LexicalBlockStack.back(); @@ -6278,7 +6280,8 @@ void CGDebugInfo::EmitGlobalAlias(const llvm::GlobalValue *GV,  void CGDebugInfo::AddStringLiteralDebugInfo(llvm::GlobalVariable *GV,                                              const StringLiteral *S) {    SourceLocation Loc = S->getStrTokenLoc(0); -  PresumedLoc PLoc = CGM.getContext().getSourceManager().getPresumedLoc(Loc); +  SourceManager &SM = CGM.getContext().getSourceManager(); +  PresumedLoc PLoc = SM.getPresumedLoc(SM.getFileLoc(Loc));    if (!PLoc.isValid())      return; | 
