[all-commits] [llvm/llvm-project] b48893: [clangd] Discard diagnostics from another SourceMa...

Adam Czachorowski via All-commits all-commits at lists.llvm.org
Fri Aug 21 04:24:29 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b4889353207aefd6f2641cef0301f78838c5b52e
      https://github.com/llvm/llvm-project/commit/b4889353207aefd6f2641cef0301f78838c5b52e
  Author: Adam Czachorowski <adamcz at google.com>
  Date:   2020-08-21 (Fri, 21 Aug 2020)

  Changed paths:
    M clang-tools-extra/clangd/Diagnostics.cpp
    M clang-tools-extra/clangd/Diagnostics.h
    M clang-tools-extra/clangd/unittests/ModulesTests.cpp

  Log Message:
  -----------
  [clangd] Discard diagnostics from another SourceManager.

This can happen when building implicit modules, as demonstrated in test.
The CompilerInstance uses the same StoredDiags, but different
SourceManager. This used to crash clangd when it tried to relocate the
diagnostic to the main file, which, according to SourceManager from the
diagnostic, is a fake <module-includes> file.

Differential Revision: https://reviews.llvm.org/D85753




More information about the All-commits mailing list