[all-commits] [llvm/llvm-project] 51de79: [clangd] check for synthesized symbols when tracki...
Matheus Izvekov via All-commits
all-commits at lists.llvm.org
Mon Dec 11 18:12:05 PST 2023
Branch: refs/heads/users/mizvekov/bug/clangd-msvc-assert-crash-fix
Home: https://github.com/llvm/llvm-project
Commit: 51de797d836f75a76b14e08eb2c1dfff1d1586ec
https://github.com/llvm/llvm-project/commit/51de797d836f75a76b14e08eb2c1dfff1d1586ec
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2023-12-11 (Mon, 11 Dec 2023)
Changed paths:
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/test/GH75115.test
Log Message:
-----------
[clangd] check for synthesized symbols when tracking include locations
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