DmitryPolukhin updated this revision to Diff 537774. DmitryPolukhin added a comment.
Rebase and uun clang-format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154602/new/ https://reviews.llvm.org/D154602 Files: clang-tools-extra/clangd/unittests/CompilerTests.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp Index: clang/lib/Driver/ToolChains/CommonArgs.cpp =================================================================== --- clang/lib/Driver/ToolChains/CommonArgs.cpp +++ clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -1271,7 +1271,7 @@ F += ".dwo"; }; if (Arg *A = Args.getLastArg(options::OPT_gsplit_dwarf_EQ)) - if (StringRef(A->getValue()) == "single") + if (StringRef(A->getValue()) == "single" && Output.isFilename()) return Args.MakeArgString(Output.getFilename()); SmallString<128> T; Index: clang-tools-extra/clangd/unittests/CompilerTests.cpp =================================================================== --- clang-tools-extra/clangd/unittests/CompilerTests.cpp +++ clang-tools-extra/clangd/unittests/CompilerTests.cpp @@ -113,6 +113,13 @@ // No crash. EXPECT_EQ(buildCompilerInvocation(Inputs, Diags), nullptr); } + +TEST(BuildCompilerInvocation, SplitSwarfSingleCrash) { + TestTU TU; + TU.ExtraArgs = {"-gdwarf-4", "-gsplit-dwarf=single"}; + TU.build(); // no-crash +} + } // namespace } // namespace clangd } // namespace clang
Index: clang/lib/Driver/ToolChains/CommonArgs.cpp =================================================================== --- clang/lib/Driver/ToolChains/CommonArgs.cpp +++ clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -1271,7 +1271,7 @@ F += ".dwo"; }; if (Arg *A = Args.getLastArg(options::OPT_gsplit_dwarf_EQ)) - if (StringRef(A->getValue()) == "single") + if (StringRef(A->getValue()) == "single" && Output.isFilename()) return Args.MakeArgString(Output.getFilename()); SmallString<128> T; Index: clang-tools-extra/clangd/unittests/CompilerTests.cpp =================================================================== --- clang-tools-extra/clangd/unittests/CompilerTests.cpp +++ clang-tools-extra/clangd/unittests/CompilerTests.cpp @@ -113,6 +113,13 @@ // No crash. EXPECT_EQ(buildCompilerInvocation(Inputs, Diags), nullptr); } + +TEST(BuildCompilerInvocation, SplitSwarfSingleCrash) { + TestTU TU; + TU.ExtraArgs = {"-gdwarf-4", "-gsplit-dwarf=single"}; + TU.build(); // no-crash +} + } // namespace } // namespace clangd } // namespace clang
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits