Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3 |
|
#
756c2056 |
| 20-Mar-2024 |
kadir çetinkaya <kadircet@google.com> |
[clang][Tooling] Add special symbol mappings for C, starting with size_t (#85784)
|
Revision tags: llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init |
|
#
e93cbd18 |
| 20-Jul-2023 |
Haojian Wu <hokein.wu@gmail.com> |
[Tooling/Inclusion] Make the Recognizer work for C99 code.
C99 is the the earliest C version provided by the language opt.
Differential Revision: https://reviews.llvm.org/D155816
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4 |
|
#
5a623c2a |
| 24-Feb-2023 |
Kadir Cetinkaya <kadircet@google.com> |
Revert "Revert "[Tooling/Inclusion] Handle std::get symbol.""
This reverts commit 7c9b15fbaeb2846ad25e797d55ffe1ccef9e1379. Breakage was in downstream code.
|
#
7c9b15fb |
| 23-Feb-2023 |
Caroline Tice <cmtice@google.com> |
Revert "[Tooling/Inclusion] Handle std::get symbol."
This reverts commit cbcb3eef70def3509bdffd4fe1ebfb6422afeaa2.
Causing many clangd test breakages, similar to:
error: no matching constructor fo
Revert "[Tooling/Inclusion] Handle std::get symbol."
This reverts commit cbcb3eef70def3509bdffd4fe1ebfb6422afeaa2.
Causing many clangd test breakages, similar to:
error: no matching constructor for initialization of 'llvm::SmallVector<clang::tooling::stdlib::Header>' : llvm::SmallVector<clang::tooling::stdlib::Header>( ^
show more ...
|
Revision tags: llvmorg-16.0.0-rc3 |
|
#
cbcb3eef |
| 21-Feb-2023 |
Haojian Wu <hokein.wu@gmail.com> |
[Tooling/Inclusion] Handle std::get symbol.
Currently, we handle it as a symbol without a header. In general, for the include-cleaner case, the std::get comes with the type header, it is safe to ign
[Tooling/Inclusion] Handle std::get symbol.
Currently, we handle it as a symbol without a header. In general, for the include-cleaner case, the std::get comes with the type header, it is safe to ignore it.
Differential Revision: https://reviews.llvm.org/D144484
show more ...
|
#
d4021ed3 |
| 13-Feb-2023 |
Younan Zhang <zyn7109@gmail.com> |
[Tooling/Inclusion] Add symbol mappings for `std::experimental::filesystem`
Clangd maintains a symbol map from standard library, in order to prevent unexpected header/symbol leaks from internal file
[Tooling/Inclusion] Add symbol mappings for `std::experimental::filesystem`
Clangd maintains a symbol map from standard library, in order to prevent unexpected header/symbol leaks from internal files. (e.g. files under `bits/` for libstdc++) This symbol map was generated by a python script that parses pages of offline cppreference archive. The script didn't handle the case for `std::experimental::`, where most symbols are from TS. It works well as symbols are directly laid out in the corresponding header under `experimental` directory for most of time.
However, libstdc++'s implementation split symbols of TS FS into a few header files located in `experimental/bits`. This would make the code completion provide internal headers when we simply select the symbols.
There are slightly differences between TS FS and C++17 FS. Some functions like `system_complete` was replaced by `absolute` and relative-related operations were introduced later by another proposal. Even so, all mainstream implementation are based on N4100, the final filesystem TS draft that was published in 2014 and from which symbols we've added are exported.
This fixes https://github.com/clangd/clangd/issues/1481
Reviewed By: kadircet
Differential Revision: https://reviews.llvm.org/D142836
show more ...
|
#
11dcd885 |
| 08-Feb-2023 |
Haojian Wu <hokein.wu@gmail.com> |
[Tooling/Inclusion] Use the StdSpecialSymbolMap.inc in the stdlib
Remove a special-case in clangd.
Differential Revision: https://reviews.llvm.org/D143559
|
Revision tags: llvmorg-16.0.0-rc2 |
|
#
c812ab73 |
| 06-Feb-2023 |
Haojian Wu <hokein.wu@gmail.com> |
[include-mapping] Add C-compatibility symbol entries.
Extending the python generator: - to generate C-compatibility symbols - to generate macros
Differential Revision: https://reviews.llvm.org/D143
[include-mapping] Add C-compatibility symbol entries.
Extending the python generator: - to generate C-compatibility symbols - to generate macros
Differential Revision: https://reviews.llvm.org/D143214
show more ...
|
#
3599cbd3 |
| 07-Feb-2023 |
Haojian Wu <hokein.wu@gmail.com> |
[include-mapping] Better #includes support for std input/output symbols
Reviewed By: kadircet
Differential Revision: https://reviews.llvm.org/D143280
|
#
d46d44e3 |
| 03-Feb-2023 |
Haojian Wu <hokein.wu@gmail.com> |
[Tooling/Inclusion] qualifed_name() => qualifiedName(), NFC
|
#
1285172c |
| 03-Feb-2023 |
Viktoriia Bakalova <bakalova@google.com> |
[include-mapping] Implement language separation in stdlib recognizer library
Differential Revision: https://reviews.llvm.org/D142992
|
Revision tags: llvmorg-16.0.0-rc1, llvmorg-17-init |
|
#
e1aaa314 |
| 24-Jan-2023 |
Sam McCall <sam.mccall@gmail.com> |
[Tooling] Add stdlib::Symbol::all() and stdlib::Symbol::qualified_name()
These address some remaining reasons to #include StdSymbolMap.inc directly.
Differential Revision: https://reviews.llvm.org/
[Tooling] Add stdlib::Symbol::all() and stdlib::Symbol::qualified_name()
These address some remaining reasons to #include StdSymbolMap.inc directly.
Differential Revision: https://reviews.llvm.org/D142467
show more ...
|
Revision tags: llvmorg-15.0.7 |
|
#
a41fbb1f |
| 03-Dec-2022 |
Kazu Hirata <kazu@google.com> |
[clang/unittests] Use std::nullopt instead of None (NFC)
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the a
[clang/unittests] Use std::nullopt instead of None (NFC)
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the amount of manual work required in migrating from Optional to std::optional.
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2 |
|
#
a7691dee |
| 12-Apr-2022 |
Sam McCall <sam.mccall@gmail.com> |
[Testing] TestAST, a helper for writing straight-line AST tests
Tests that need ASTs have to deal with the awkward control flow of FrontendAction in some way. There are a few idioms used: - don't b
[Testing] TestAST, a helper for writing straight-line AST tests
Tests that need ASTs have to deal with the awkward control flow of FrontendAction in some way. There are a few idioms used: - don't bother with unit tests, use clang -dump-ast - create an ASTConsumer by hand, which is bulky - use ASTMatchFinder - works pretty well if matchers are actually needed, very strange if they are not - use ASTUnit - this yields nice straight-line code, but ASTUnit is a terrifically complicated library not designed for this purpose
TestAST provides a very simple way to write straight-line tests: specify the code/flags and it provides an AST that is kept alive until the object is destroyed. It's loosely modeled after TestTU in clangd, which we've successfully used for a variety of tests.
I've updated a couple of clang tests to use this helper, IMO they're clearer.
Differential Revision: https://reviews.llvm.org/D123668
show more ...
|
Revision tags: llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
#
46a6f5ae |
| 09-Feb-2022 |
Kirill Bobyrev <kbobyrev@google.com> |
[clangd] NFC: Move stdlib headers handling to Clang
This will allow moving the IncludeCleaner library essentials to Clang and decoupling them from the majority of clangd.
The patch itself just move
[clangd] NFC: Move stdlib headers handling to Clang
This will allow moving the IncludeCleaner library essentials to Clang and decoupling them from the majority of clangd.
The patch itself just moves the code, it doesn't change existing functionality.
Reviewed By: sammccall
Differential Revision: https://reviews.llvm.org/D119130
show more ...
|