<div dir="ltr">Hello Serge,<br><br>This commit added broken test to the builder:<br><a href="http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/26525">http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/26525</a><br>. . .<br>Failing Tests (2):<br>    Clang Tools :: clang-tidy/empty-database.cpp<br>     . . .<br><br>Please have a look?<br>The builder was already red and did not send notifications.<br><br>Thanks<br><br>Galina</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 20, 2019 at 1:22 PM Serge Guelton via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Author: serge_sans_paille<br>
Date: Thu Jun 20 13:25:59 2019<br>
New Revision: 363975<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=363975&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=363975&view=rev</a><br>
Log:<br>
[clang-tidy] Fail gracefully upon empty database fields<br>
<br>
Fix bz#42281<br>
<br>
Differential Revision: <a href="https://reviews.llvm.org/D63613" rel="noreferrer" target="_blank">https://reviews.llvm.org/D63613</a><br>
<br>
Modified:<br>
    cfe/trunk/lib/Tooling/InterpolatingCompilationDatabase.cpp<br>
    cfe/trunk/lib/Tooling/Tooling.cpp<br>
<br>
Modified: cfe/trunk/lib/Tooling/InterpolatingCompilationDatabase.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/InterpolatingCompilationDatabase.cpp?rev=363975&r1=363974&r2=363975&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/InterpolatingCompilationDatabase.cpp?rev=363975&r1=363974&r2=363975&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Tooling/InterpolatingCompilationDatabase.cpp (original)<br>
+++ cfe/trunk/lib/Tooling/InterpolatingCompilationDatabase.cpp Thu Jun 20 13:25:59 2019<br>
@@ -150,7 +150,8 @@ struct TransferableCommand {<br>
     // spelling of each argument; re-rendering is lossy for aliased flags.<br>
     // E.g. in CL mode, /W4 maps to -Wall.<br>
     auto OptTable = clang::driver::createDriverOptTable();<br>
-    Cmd.CommandLine.emplace_back(OldArgs.front());<br>
+    if (!OldArgs.empty())<br>
+      Cmd.CommandLine.emplace_back(OldArgs.front());<br>
     for (unsigned Pos = 1; Pos < OldArgs.size();) {<br>
       using namespace driver::options;<br>
<br>
@@ -243,7 +244,8 @@ private:<br>
     }<br>
<br>
     // Otherwise just check the clang executable file name.<br>
-    return llvm::sys::path::stem(CmdLine.front()).endswith_lower("cl");<br>
+    return !CmdLine.empty() &&<br>
+           llvm::sys::path::stem(CmdLine.front()).endswith_lower("cl");<br>
   }<br>
<br>
   // Map the language from the --std flag to that of the -x flag.<br>
<br>
Modified: cfe/trunk/lib/Tooling/Tooling.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/Tooling.cpp?rev=363975&r1=363974&r2=363975&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/Tooling.cpp?rev=363975&r1=363974&r2=363975&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Tooling/Tooling.cpp (original)<br>
+++ cfe/trunk/lib/Tooling/Tooling.cpp Thu Jun 20 13:25:59 2019<br>
@@ -481,7 +481,7 @@ int ClangTool::run(ToolAction *Action) {<br>
       if (OverlayFileSystem->setCurrentWorkingDirectory(<br>
               CompileCommand.Directory))<br>
         llvm::report_fatal_error("Cannot chdir into \"" +<br>
-                                 Twine(CompileCommand.Directory) + "\n!");<br>
+                                 Twine(CompileCommand.Directory) + "\"!");<br>
<br>
       // Now fill the in-memory VFS with the relative file mappings so it will<br>
       // have the correct relative paths. We never remove mappings but that<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</blockquote></div>