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, 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 |
|
#
5ddc3718 |
| 28-Jul-2023 |
Nathan Ridge <zeratul976@hotmail.com> |
[clang] [libIndex] Remove unused 'RefD' parameter of IndexingContext::handleReference()
Differential Revision: https://reviews.llvm.org/D156513
|
Revision tags: llvmorg-18-init, 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, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, 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 |
|
#
75e16fd2 |
| 26-Apr-2022 |
Ilya Biryukov <ibiryukov@google.com> |
[Index] [clangd] Support for concept declarations and requires expressions
Add support for concepts and requires expression in the clang index. Genarate USRs for concepts.
Also change how `Recursiv
[Index] [clangd] Support for concept declarations and requires expressions
Add support for concepts and requires expression in the clang index. Genarate USRs for concepts.
Also change how `RecursiveASTVisitor` handles return type requirement in requires expressions. The new code unpacks the synthetic template parameter list used for storing the actual expression. This simplifies implementation of the indexing. No code seems to depend on the original traversal anyway and the synthesized template parameter list is easily accessible from inside the requires expression if needed.
Add tests in the clangd codebase.
Fixes https://github.com/clangd/clangd/issues/1103.
Reviewed By: sammccall
Differential Revision: https://reviews.llvm.org/D124441
show more ...
|
Revision tags: llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
#
93c87fc0 |
| 23-Mar-2021 |
Ben Langmuir <blangmuir@apple.com> |
[index] Improve macro indexing support
The major change here is to index macro occurrences in more places than before, specifically
* In non-expansion references such as `#if`, `#ifdef`, etc. * Whe
[index] Improve macro indexing support
The major change here is to index macro occurrences in more places than before, specifically
* In non-expansion references such as `#if`, `#ifdef`, etc. * When the macro is a reference to a builtin macro such as __LINE__. * When using the preprocessor state instead of callbacks, we now include all definition locations and undefinitions instead of just the latest one (which may also have had the wrong location previously). * When indexing an existing module file (.pcm), we now include module macros, and we no longer report unrelated preprocessor macros during indexing the module, which could have caused duplication.
Additionally, we now correctly obey the system symbol filter for macros, so by default in system headers only definition/undefinition occurrences are reported, but it can be configured to report references as well if desired.
Extends FileIndexRecord to support occurrences of macros. Since the design of this type is to keep a single list of entities organized by source location, we incorporate macros into the existing DeclOccurrence struct.
Differential Revision: https://reviews.llvm.org/D99758
show more ...
|
Revision tags: llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3 |
|
#
bb9e92ba |
| 19-Feb-2020 |
Haojian Wu <hokein.wu@gmail.com> |
[clang][Index] Fix the incomplete instantiations in libindex.
Summary: libindex will canonicalize references to template instantiations: - 1) reference to an explicit template specialization, report
[clang][Index] Fix the incomplete instantiations in libindex.
Summary: libindex will canonicalize references to template instantiations: - 1) reference to an explicit template specialization, report the specializatiion - 2) otherwise, report the primary template
but 2) is not true for incomplete instantiations, this patch fixes this.
Fixes https://github.com/clangd/clangd/issues/287
Reviewers: kadircet
Subscribers: ilya-biryukov, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D74830
show more ...
|
Revision tags: llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init |
|
#
3b9715cb |
| 16-Dec-2019 |
Kirill Bobyrev <kbobyrev@google.com> |
[NFC] Fix typos in Clangd and Clang
Reviewed by: Jim
Differential Revision: https://reviews.llvm.org/D71455
|
Revision tags: llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1 |
|
#
60573ae6 |
| 16-Nov-2019 |
Reid Kleckner <rnk@google.com> |
Remove Expr.h include from ASTContext.h, NFC
ASTContext.h is popular, prune its includes. Expr.h brings in Attr.h, which is also expensive.
Move BlockVarCopyInit to Expr.h to accomplish this.
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1 |
|
#
75e74e07 |
| 31-Mar-2019 |
Fangrui Song <maskray@google.com> |
Range-style std::find{,_if} -> llvm::find{,_if}. NFC
llvm-svn: 357359
|
Revision tags: llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4 |
|
#
e7eb27a9 |
| 08-Mar-2019 |
Kadir Cetinkaya <kadircet@google.com> |
[clang][Index] Mark references from Constructors and Destructors to class as NameReference
Summary: In current indexing logic we get references to class itself when we see a constructor/destructor w
[clang][Index] Mark references from Constructors and Destructors to class as NameReference
Summary: In current indexing logic we get references to class itself when we see a constructor/destructor which is only syntactically true. Semantically this information is not correct. This patch marks that reference as NameReference to let clients deal with it.
Reviewers: akyrtzi, gribozavr, nathawes, benlangmuir
Reviewed By: gribozavr, nathawes
Subscribers: nathawes, arphaman, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D58814
llvm-svn: 355668
show more ...
|
Revision tags: llvmorg-8.0.0-rc3 |
|
#
b780517c |
| 21-Feb-2019 |
Kadir Cetinkaya <kadircet@google.com> |
[clang][Index] Enable indexing of Template Type Parameters behind a flag
Summary: clangd uses indexing api to provide references and it was not possible to perform symbol information for template pa
[clang][Index] Enable indexing of Template Type Parameters behind a flag
Summary: clangd uses indexing api to provide references and it was not possible to perform symbol information for template parameters. This patch enables visiting of TemplateTypeParmTypeLocs.
Reviewers: ilya-biryukov, akyrtzi
Subscribers: javed.absar, kristof.beyls, ioeric, arphaman, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D58293
llvm-svn: 354560
show more ...
|
#
0468fc0b |
| 11-Feb-2019 |
Kadir Cetinkaya <kadircet@google.com> |
[clang][Index] Add a knob to index function parameters in declarations
Summary: Parameters in declarations are useful for clangd, so that we can provide symbol information for them as well. It also
[clang][Index] Add a knob to index function parameters in declarations
Summary: Parameters in declarations are useful for clangd, so that we can provide symbol information for them as well. It also helps clangd to be consistent whether a function's definition is accessible or not.
Reviewers: hokein, akyrtzi
Subscribers: ilya-biryukov, ioeric, arphaman, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D57949
llvm-svn: 353695
show more ...
|
Revision tags: llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1 |
|
#
2946cd70 |
| 19-Jan-2019 |
Chandler Carruth <chandlerc@gmail.com> |
Update the file headers across all of the LLVM projects in the monorepo to reflect the new license.
We understand that people may be surprised that we're moving the header entirely to discuss the ne
Update the file headers across all of the LLVM projects in the monorepo to reflect the new license.
We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach.
Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository.
llvm-svn: 351636
show more ...
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1 |
|
#
32e5d862 |
| 18-Sep-2018 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[index] Enhance indexing for module references
* Create a USR for the occurrences of the 'module' symbol kind * Record module references for each identifier in an import declaration
llvm-svn: 342484
|
Revision tags: llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1 |
|
#
6907ce2f |
| 30-Jul-2018 |
Fangrui Song <maskray@google.com> |
Remove trailing space
sed -Ei 's/[[:space:]]+$//' include/**/*.{def,h,td} lib/**/*.{cpp,h}
llvm-svn: 338291
|
#
3e0051bb |
| 20-Jul-2018 |
Eric Liu <ioeric@google.com> |
[Index] Set OrigD before D is changed.
Reviewers: akyrtzi, arphaman
Reviewed By: akyrtzi
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D49476
llvm-svn: 337529
|
#
d50f36ed |
| 09-Jul-2018 |
Fangrui Song <maskray@google.com> |
[Index] Add index::IndexingOptions::IndexImplicitInstantiation
Summary: With IndexImplicitInstantiation=true, the following case records an occurrence of B::bar in A::foo, which will benefit cross r
[Index] Add index::IndexingOptions::IndexImplicitInstantiation
Summary: With IndexImplicitInstantiation=true, the following case records an occurrence of B::bar in A::foo, which will benefit cross reference tools.
template <class T> struct B { void bar() {}}; template <class T> struct A { void foo(B<T> *x) { x->bar(); }}; int main() { A<int> a; a.foo(0); }
Reviewers: akyrtzi, arphaman, rsmith
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D49002
llvm-svn: 336606
show more ...
|
#
8c97195c |
| 09-Jul-2018 |
Eric Liu <ioeric@google.com> |
[Index] Add indexing support for MACROs.
Reviewers: akyrtzi, arphaman, sammccall
Reviewed By: sammccall
Subscribers: malaperle, sammccall, cfe-commits
Differential Revision: https://reviews.llvm.
[Index] Add indexing support for MACROs.
Reviewers: akyrtzi, arphaman, sammccall
Reviewed By: sammccall
Subscribers: malaperle, sammccall, cfe-commits
Differential Revision: https://reviews.llvm.org/D48961
llvm-svn: 336524
show more ...
|
Revision tags: llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1 |
|
#
cc026ebf |
| 09-Apr-2018 |
Sam McCall <sam.mccall@gmail.com> |
[Index] Return SourceLocation to consumers, not FileID/Offset pair.
Summary: The FileID/Offset conversion is lossy. The code takes the fileLoc, which loses e.g. the spelling location in some macro c
[Index] Return SourceLocation to consumers, not FileID/Offset pair.
Summary: The FileID/Offset conversion is lossy. The code takes the fileLoc, which loses e.g. the spelling location in some macro cases. Instead, pass the original SourceLocation which preserves all information, and update consumers to match current behavior.
This allows us to fix two bugs in clangd that need the spelling location.
Reviewers: akyrtzi, arphaman
Subscribers: ilya-biryukov, ioeric, cfe-commits
Differential Revision: https://reviews.llvm.org/D45014
llvm-svn: 329570
show more ...
|
Revision tags: llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1, llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3 |
|
#
47827627 |
| 15-Aug-2017 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[index] Update indexing to handle CXXDeductionGuideDecls properly
CXXDeductionGuideDecls can't be referenced so there's no need to output a symbol occurrence for them. Also handle DeducedTemplateSpe
[index] Update indexing to handle CXXDeductionGuideDecls properly
CXXDeductionGuideDecls can't be referenced so there's no need to output a symbol occurrence for them. Also handle DeducedTemplateSpecializationTypeLocs in the TypeIndexer so we don't miss the symbol occurrences of the corresponding template decls.
Patch by Nathan Hawes!
Differential Revision: https://reviews.llvm.org/D36641
llvm-svn: 310933
show more ...
|
Revision tags: llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1 |
|
#
e62dd8b5 |
| 18-Jul-2017 |
Krasimir Georgiev <krasimir@google.com> |
[Index] Prevent canonical decl becoming nullptr
Summary: This patch prevents getCanonicalDecl returning nullptr in case it finds a canonical TemplateDeclaration with no attached TemplatedDecl. Found
[Index] Prevent canonical decl becoming nullptr
Summary: This patch prevents getCanonicalDecl returning nullptr in case it finds a canonical TemplateDeclaration with no attached TemplatedDecl. Found by running the indexer over a version of the standard library deep inside a template metaprogramming mess.
Reviewers: klimek, vsk
Reviewed By: vsk
Subscribers: vsk, arphaman, cfe-commits
Differential Revision: https://reviews.llvm.org/D35212
llvm-svn: 308269
show more ...
|
#
da467ed4 |
| 12-Jul-2017 |
Ben Langmuir <blangmuir@apple.com> |
[index] Don't add relation to a NamedDecl with no name
Unless it's one of the special cases (tag, category) that we can handle. This syncs up the check between handling a decl and handling a relatio
[index] Don't add relation to a NamedDecl with no name
Unless it's one of the special cases (tag, category) that we can handle. This syncs up the check between handling a decl and handling a relation.
This would cause invalid nameless decls to end up in relations despite having no name or USR.
rdar://problem/32474406
llvm-svn: 307855
show more ...
|
Revision tags: llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2 |
|
#
4bbce515 |
| 23-May-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] The references to enum constants from member enums that are from template instantiations should refer to the enum constant in the pattern enum in the base template
rdar://32325459
llvm-svn:
[index] The references to enum constants from member enums that are from template instantiations should refer to the enum constant in the pattern enum in the base template
rdar://32325459
llvm-svn: 303651
show more ...
|
#
9d605206 |
| 23-May-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] The references to member enums from template instantiations should refer to the pattern member enum in the base template
rdar://32325459
llvm-svn: 303650
|
#
fcbae3a3 |
| 23-May-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] The references to type aliases and typedefs from template instantiations should refer to the pattern type aliases / typedefs in the base templates
rdar://32325459
llvm-svn: 303648
|
#
73e27a60 |
| 23-May-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] The references to fields from nested records in template instantiations should refer to the pattern fields in the nested records in the base templates
rdar://32352429
llvm-svn: 303647
|
#
2109d436 |
| 23-May-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] The references to records from template instantiations should refer to the pattern records in the base templates
rdar://32325459
llvm-svn: 303646
|