diff options
Diffstat (limited to 'contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp')
| -rw-r--r-- | contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp | 27 | 
1 files changed, 19 insertions, 8 deletions
diff --git a/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp b/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp index 6d18027f16a8..a6f6e38d5f14 100644 --- a/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp +++ b/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp @@ -1278,13 +1278,6 @@ std::string getCoverageSection(const CodeGenModule &CGM) {        CGM.getContext().getTargetInfo().getTriple().getObjectFormat());  } -std::string normalizeFilename(StringRef Filename) { -  llvm::SmallString<256> Path(Filename); -  llvm::sys::fs::make_absolute(Path); -  llvm::sys::path::remove_dots(Path, /*remove_dot_dot=*/true); -  return Path.str().str(); -} -  } // end anonymous namespace  static void dump(llvm::raw_ostream &OS, StringRef FunctionName, @@ -1317,6 +1310,24 @@ static void dump(llvm::raw_ostream &OS, StringRef FunctionName,    }  } +CoverageMappingModuleGen::CoverageMappingModuleGen( +    CodeGenModule &CGM, CoverageSourceInfo &SourceInfo) +    : CGM(CGM), SourceInfo(SourceInfo), FunctionRecordTy(nullptr) { +  // Honor -fdebug-compilation-dir in paths in coverage data. Otherwise, use the +  // regular working directory when normalizing paths. +  if (!CGM.getCodeGenOpts().DebugCompilationDir.empty()) +    CWD = CGM.getCodeGenOpts().DebugCompilationDir; +  else +    llvm::sys::fs::current_path(CWD); +} + +std::string CoverageMappingModuleGen::normalizeFilename(StringRef Filename) { +  llvm::SmallString<256> Path(Filename); +  llvm::sys::fs::make_absolute(CWD, Path); +  llvm::sys::path::remove_dots(Path, /*remove_dot_dot=*/true); +  return Path.str().str(); +} +  void CoverageMappingModuleGen::addFunctionMappingRecord(      llvm::GlobalVariable *NamePtr, StringRef NameValue, uint64_t FuncHash,      const std::string &CoverageMapping, bool IsUsed) { @@ -1442,7 +1453,7 @@ void CoverageMappingModuleGen::emit() {        CovDataVal, llvm::getCoverageMappingVarName());    CovData->setSection(getCoverageSection(CGM)); -  CovData->setAlignment(8); +  CovData->setAlignment(llvm::Align(8));    // Make sure the data doesn't get deleted.    CGM.addUsedGlobal(CovData);  | 
