r363975 - [clang-tidy] Fail gracefully upon empty database fields

Galina Kistanova via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 21 16:28:24 PDT 2019


Hello Serge,

This commit added broken test to the builder:
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/26525
. . .
Failing Tests (2):
    Clang Tools :: clang-tidy/empty-database.cpp
     . . .

Please have a look?
The builder was already red and did not send notifications.

Thanks

Galina

On Thu, Jun 20, 2019 at 1:22 PM Serge Guelton via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> Author: serge_sans_paille
> Date: Thu Jun 20 13:25:59 2019
> New Revision: 363975
>
> URL: http://llvm.org/viewvc/llvm-project?rev=363975&view=rev
> Log:
> [clang-tidy] Fail gracefully upon empty database fields
>
> Fix bz#42281
>
> Differential Revision: https://reviews.llvm.org/D63613
>
> Modified:
>     cfe/trunk/lib/Tooling/InterpolatingCompilationDatabase.cpp
>     cfe/trunk/lib/Tooling/Tooling.cpp
>
> Modified: cfe/trunk/lib/Tooling/InterpolatingCompilationDatabase.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/InterpolatingCompilationDatabase.cpp?rev=363975&r1=363974&r2=363975&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Tooling/InterpolatingCompilationDatabase.cpp (original)
> +++ cfe/trunk/lib/Tooling/InterpolatingCompilationDatabase.cpp Thu Jun 20
> 13:25:59 2019
> @@ -150,7 +150,8 @@ struct TransferableCommand {
>      // spelling of each argument; re-rendering is lossy for aliased flags.
>      // E.g. in CL mode, /W4 maps to -Wall.
>      auto OptTable = clang::driver::createDriverOptTable();
> -    Cmd.CommandLine.emplace_back(OldArgs.front());
> +    if (!OldArgs.empty())
> +      Cmd.CommandLine.emplace_back(OldArgs.front());
>      for (unsigned Pos = 1; Pos < OldArgs.size();) {
>        using namespace driver::options;
>
> @@ -243,7 +244,8 @@ private:
>      }
>
>      // Otherwise just check the clang executable file name.
> -    return llvm::sys::path::stem(CmdLine.front()).endswith_lower("cl");
> +    return !CmdLine.empty() &&
> +           llvm::sys::path::stem(CmdLine.front()).endswith_lower("cl");
>    }
>
>    // Map the language from the --std flag to that of the -x flag.
>
> Modified: cfe/trunk/lib/Tooling/Tooling.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/Tooling.cpp?rev=363975&r1=363974&r2=363975&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Tooling/Tooling.cpp (original)
> +++ cfe/trunk/lib/Tooling/Tooling.cpp Thu Jun 20 13:25:59 2019
> @@ -481,7 +481,7 @@ int ClangTool::run(ToolAction *Action) {
>        if (OverlayFileSystem->setCurrentWorkingDirectory(
>                CompileCommand.Directory))
>          llvm::report_fatal_error("Cannot chdir into \"" +
> -                                 Twine(CompileCommand.Directory) + "\n!");
> +                                 Twine(CompileCommand.Directory) + "\"!");
>
>        // Now fill the in-memory VFS with the relative file mappings so it
> will
>        // have the correct relative paths. We never remove mappings but
> that
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190621/927174b0/attachment.html>


More information about the cfe-commits mailing list