[all-commits] [llvm/llvm-project] a3977c: [clangd] check for synthesized symbols when tracki...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Wed Jan 3 08:53:04 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a3977c92376ecec1838262eca68d0def14a4e14d
      https://github.com/llvm/llvm-project/commit/a3977c92376ecec1838262eca68d0def14a4e14d
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-01-03 (Wed, 03 Jan 2024)

  Changed paths:
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    A clang-tools-extra/clangd/test/GH75115.test

  Log Message:
  -----------
  [clangd] check for synthesized symbols when tracking include locations (#75128)

This fixes https://github.com/llvm/llvm-project/issues/75115

In C mode with MSVC compatibility, when the `assert` macro is defined,
as a workaround, `static_assert` is implicitly defined as well, if not
already so, in order to work around a broken `assert.h` implementation.
This workaround was implemented in
https://github.com/llvm/llvm-project/commit/8da090381d567d0ec555840f6b2a651d2997e4b3

A synthesized symbol does not occur in source code, and therefore should
not have valid source location, but this was not checked when inserting
this into a `symbol -> include file` map.

The invalid FileID value is used for empty key representation in the
include file hash table, so it's not valid to insert it.




More information about the All-commits mailing list