diff options
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp | 43 |
1 files changed, 5 insertions, 38 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp index 7700ffd..f184f32 100644 --- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp @@ -893,37 +893,6 @@ static TypeIndex getStringIdTypeIdx(GlobalTypeTableBuilder &TypeTable, return TypeTable.writeLeafType(SIR); } -static std::string flattenCommandLine(ArrayRef<std::string> Args, - StringRef MainFilename) { - std::string FlatCmdLine; - raw_string_ostream OS(FlatCmdLine); - bool PrintedOneArg = false; - if (!StringRef(Args[0]).contains("-cc1")) { - llvm::sys::printArg(OS, "-cc1", /*Quote=*/true); - PrintedOneArg = true; - } - for (unsigned i = 0; i < Args.size(); i++) { - StringRef Arg = Args[i]; - if (Arg.empty()) - continue; - if (Arg == "-main-file-name" || Arg == "-o") { - i++; // Skip this argument and next one. - continue; - } - if (Arg.starts_with("-object-file-name") || Arg == MainFilename) - continue; - // Skip fmessage-length for reproduciability. - if (Arg.starts_with("-fmessage-length")) - continue; - if (PrintedOneArg) - OS << " "; - llvm::sys::printArg(OS, Arg, /*Quote=*/true); - PrintedOneArg = true; - } - OS.flush(); - return FlatCmdLine; -} - void CodeViewDebug::emitBuildInfo() { // First, make LF_BUILDINFO. It's a sequence of strings with various bits of // build info. The known prefix is: @@ -947,13 +916,11 @@ void CodeViewDebug::emitBuildInfo() { // FIXME: PDB is intentionally blank unless we implement /Zi type servers. BuildInfoArgs[BuildInfoRecord::TypeServerPDB] = getStringIdTypeIdx(TypeTable, ""); - if (Asm->TM.Options.MCOptions.Argv0 != nullptr) { - BuildInfoArgs[BuildInfoRecord::BuildTool] = - getStringIdTypeIdx(TypeTable, Asm->TM.Options.MCOptions.Argv0); - BuildInfoArgs[BuildInfoRecord::CommandLine] = getStringIdTypeIdx( - TypeTable, flattenCommandLine(Asm->TM.Options.MCOptions.CommandLineArgs, - MainSourceFile->getFilename())); - } + BuildInfoArgs[BuildInfoRecord::BuildTool] = + getStringIdTypeIdx(TypeTable, Asm->TM.Options.MCOptions.Argv0); + BuildInfoArgs[BuildInfoRecord::CommandLine] = getStringIdTypeIdx( + TypeTable, Asm->TM.Options.MCOptions.CommandlineArgs); + BuildInfoRecord BIR(BuildInfoArgs); TypeIndex BuildInfoIndex = TypeTable.writeLeafType(BIR); |