Skip to content

Commit 449adeb

Browse files
committed
emit summaries even if obj path has no base dir path
1 parent d3923ce commit 449adeb

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5473,15 +5473,18 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
54735473
if (Args.getLastArg(options::OPT_summaries_dir_EQ))
54745474
Args.AddLastArg(CmdArgs, options::OPT_summaries_dir_EQ);
54755475

5476-
if (Arg *A = Args.getLastArg(options::OPT_summary_format_EQ))
5476+
if (Args.getLastArg(options::OPT_summary_format_EQ))
54775477
Args.AddLastArg(CmdArgs, options::OPT_summary_format_EQ);
54785478

54795479
if (const Arg *A = Args.getLastArg(options::OPT_emit_summaries_EQ)) {
54805480
std::string EmitSummaryDir = ".";
54815481

54825482
if (Arg *FinalOutput = C.getArgs().getLastArg(options::OPT_o);
5483-
A->containsValue("obj") && FinalOutput)
5484-
EmitSummaryDir = llvm::sys::path::parent_path(FinalOutput->getValue());
5483+
A->containsValue("obj") && FinalOutput) {
5484+
StringRef ObjDir = llvm::sys::path::parent_path(FinalOutput->getValue());
5485+
if (!ObjDir.empty())
5486+
EmitSummaryDir = ObjDir;
5487+
}
54855488

54865489
CmdArgs.push_back(
54875490
Args.MakeArgString(Twine("-emit-summary-dir=") + EmitSummaryDir));

0 commit comments

Comments
 (0)