Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6 |
|
#
12028373 |
| 14-May-2024 |
Krystian Stasiowski <sdkrystian@gmail.com> |
Reapply "[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)" (#91393)
Reapplies #81642, fixing the crash which occurs when runni
Reapply "[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)" (#91393)
Reapplies #81642, fixing the crash which occurs when running the lldb test suite.
show more ...
|
#
c6855ab2 |
| 07-May-2024 |
Adrian Prantl <aprantl@apple.com> |
Revert "[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)"
This reverts commit 7115ed0fff027b65fa76fdfae215ed1382ed1473.
This
Revert "[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)"
This reverts commit 7115ed0fff027b65fa76fdfae215ed1382ed1473.
This commit broke several LLDB tests.
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/3480/
show more ...
|
#
7115ed0f |
| 07-May-2024 |
Krystian Stasiowski <sdkrystian@gmail.com> |
[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)
Our current method of storing the template arguments as written for
`(Class/
[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)
Our current method of storing the template arguments as written for
`(Class/Var)Template(Partial)SpecializationDecl` suffers from a number
of flaws:
- We use `TypeSourceInfo` to store `TemplateArgumentLocs` for class
template/variable template partial/explicit specializations. For
variable template specializations, this is a rather unintuitive hack (as
we store a non-type specialization as a type). Moreover, we don't ever
*need* the type as written -- in almost all cases, we only want the
template arguments (e.g. in tooling use-cases).
- The template arguments as written are stored in a number of redundant
data members. For example, `(Class/Var)TemplatePartialSpecialization`
have their own `ArgsAsWritten` member that stores an
`ASTTemplateArgumentListInfo` (the template arguments).
`VarTemplateSpecializationDecl` has yet _another_ redundant member
"`TemplateArgsInfo`" that also stores an `ASTTemplateArgumentListInfo`.
This patch eliminates all
`(Class/Var)Template(Partial)SpecializationDecl` members which store the
template arguments as written, and turns the `ExplicitInfo` member into
a `llvm::PointerUnion<const ASTTemplateArgumentListInfo*,
ExplicitInstantiationInfo*>` (to avoid unnecessary allocations when the
declaration isn't an explicit instantiation). The template arguments as
written are now accessed via `getTemplateArgsWritten` in all cases.
The "most breaking" change is to AST Matchers, insofar that `hasTypeLoc`
will no longer match class template specializations (since they no
longer store the type as written).
show more ...
|
Revision tags: 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 |
|
#
02aa6956 |
| 22-Jan-2024 |
Jake Egan <5326451+jakeegan@users.noreply.github.com> |
[clang][AIX] Only export libclang.map symbols from libclang (#78748)
This will prevent unnecessary symbols being exported in libclang, which
could cause issues with non-unique objects.
|
Revision tags: 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 |
|
#
d9c82e19 |
| 10-Sep-2023 |
Jan Svoboda <jan_svoboda@apple.com> |
[AIX][tests] Temporarily disable more Clang/Index tests
This extends 985dacea by XFAILing more tests that started failing after these commits: * 14498a477ee9e00dc462779cee8cbc5846ca6d3a * e644f5973b
[AIX][tests] Temporarily disable more Clang/Index tests
This extends 985dacea by XFAILing more tests that started failing after these commits: * 14498a477ee9e00dc462779cee8cbc5846ca6d3a * e644f5973b0b71baadc6d7b64596527a1dc49d17 * 89bacc0bb9f6aa66ca1951ec5c0e4c38cc661160
These failures need to be investigated. Possible cause is D151938.
show more ...
|
Revision tags: llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4 |
|
#
74fd474e |
| 09-May-2023 |
Mariya Podchishchaeva <mariya.podchishchaeva@intel.com> |
[clang] Evaluate non-type default template argument when it is required
Before this change a default template argument for a non-type template parameter was evaluated and checked immediately after i
[clang] Evaluate non-type default template argument when it is required
Before this change a default template argument for a non-type template parameter was evaluated and checked immediately after it is met by parser. In some cases it is too early.
Fixes https://github.com/llvm/llvm-project/issues/62224 Fixes https://github.com/llvm/llvm-project/issues/62596
Reviewed By: shafik, erichkeane, cor3ntin
Differential Revision: https://reviews.llvm.org/D150108
show more ...
|
Revision tags: 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, 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, 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 |
|
#
7cd6b0c3 |
| 24-Aug-2020 |
Nathan Ridge <zeratul976@hotmail.com> |
[clang] Do not consider the template arguments of bases to be bases themselves
Fixes https://github.com/clangd/clangd/issues/504
Differential Revision: https://reviews.llvm.org/D86424
|
Revision tags: 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, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1 |
|
#
4aef105b |
| 20-Sep-2019 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Finish building the full-expression for a static_assert expression before evaluating it rather than afterwards.
This is groundwork for C++20's P0784R7, where non-trivial destructors can be constexpr
Finish building the full-expression for a static_assert expression before evaluating it rather than afterwards.
This is groundwork for C++20's P0784R7, where non-trivial destructors can be constexpr, so we need ExprWithCleanups markers in constant expressions.
No significant functionality change intended (though this fixes a bug only visible through libclang / -ast-dump / tooling: we now store the converted condition on the StaticAssertDecl rather than the original).
llvm-svn: 372368
show more ...
|
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, 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 |
|
#
f53621bb |
| 18-Feb-2019 |
Kadir Cetinkaya <kadircet@google.com> |
[clang][Index] Fix usage of IndexImplicitInstantiation
Summary: Indexing context was skipping explicit template instantiations as well. This patch makes sure it only skips implicit ones.
Subscriber
[clang][Index] Fix usage of IndexImplicitInstantiation
Summary: Indexing context was skipping explicit template instantiations as well. This patch makes sure it only skips implicit ones.
Subscribers: arphaman, jdoerfert, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D58189
llvm-svn: 354262
show more ...
|
Revision tags: llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1, llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1 |
|
#
63a8b6c3 |
| 09-Oct-2018 |
Fangrui Song <maskray@google.com> |
[Index] Use locations to uniquify function-scope BindingDecl USR
Summary: This makes BindingDecl's of the same name have different USRs, so that references can be correctly attributed.
int a[1]
[Index] Use locations to uniquify function-scope BindingDecl USR
Summary: This makes BindingDecl's of the same name have different USRs, so that references can be correctly attributed.
int a[1] = {}; { auto [x] = a; x; } { auto [x] = a; x; }
Reviewers: akyrtzi, arphaman, rsmith, hokein
Reviewed By: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D52445
llvm-svn: 344010
show more ...
|
Revision tags: llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1, llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1, 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 |
|
#
41856684 |
| 09-Nov-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] tag declarations should use the decl role instead of ref
The 'decl' role is more canonical than the 'ref'. This helps us establish the 'specialization-of' relation just by looking at decls o
[index] tag declarations should use the decl role instead of ref
The 'decl' role is more canonical than the 'ref'. This helps us establish the 'specialization-of' relation just by looking at decls or defs.
rdar://31884960
llvm-svn: 317832
show more ...
|
#
1c628e3c |
| 07-Nov-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] __builtin_offset's field reference is located at the end location
The starting location is the location of the '.'
llvm-svn: 317596
|
#
7b760095 |
| 07-Nov-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] index field references in __builtin_offset
rdar://35109556
llvm-svn: 317593
|
Revision tags: 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 |
|
#
200dc12f |
| 04-Jul-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] Index nested name qualifiers in a forward declaration of a class template specialization
rdar://33122110
llvm-svn: 307074
|
#
b6e03aa9 |
| 22-Jun-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] Add the "SpecializationOf" relation to the forward declarations of class template specializations
This commit fixes an issue where a forward declaration of a class template specialization wa
[index] Add the "SpecializationOf" relation to the forward declarations of class template specializations
This commit fixes an issue where a forward declaration of a class template specialization was not related to the base template. We need to relate even forward declarations because specializations don't have to be defined.
rdar://32869409
Differential Revision: https://reviews.llvm.org/D34462
llvm-svn: 305996
show more ...
|
#
d283dd4e |
| 21-Jun-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] Nested class declarations should be annotated with the "specializationOf" relation if they pseudo-override a type in the base template
This commit fixes an issue where Xcode's renaming engin
[index] Nested class declarations should be annotated with the "specializationOf" relation if they pseudo-override a type in the base template
This commit fixes an issue where Xcode's renaming engine couldn't find the reference to the second occurrence of "InnerClass" in this example:
template<typename T> struct Ts { template<typename U> struct InnerClass { }; };
template<> struct Ts<int> { template<typename U> struct InnerClass; // This occurrence wasn't renamed };
rdar://31884960
Differential Revision: https://reviews.llvm.org/D34392
llvm-svn: 305911
show more ...
|
#
8a656c95 |
| 15-Jun-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] Record C++17 global binding declarations
The global C++17 binding declarations should be indexed as variable symbols.
Differential Revision: https://reviews.llvm.org/D33920
llvm-svn: 305508
|
#
60aac438 |
| 15-Jun-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] Index static_assert declarations
static_assert declarations have to be visited while indexing so that we can gather the references to declarations that are present in their assert expression
[index] Index static_assert declarations
static_assert declarations have to be visited while indexing so that we can gather the references to declarations that are present in their assert expression.
Differential Revision: https://reviews.llvm.org/D33913
llvm-svn: 305504
show more ...
|
Revision tags: llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2 |
|
#
80cb549c |
| 22-May-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] Index the default template parameter values
rdar://32323724
llvm-svn: 303568
|
#
832d8fcc |
| 22-May-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] Index the deleted functions
rdar://32323386
llvm-svn: 303563
|
#
365cb478 |
| 22-May-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] Visit the default argument values in function definitions
rdar://32323315
llvm-svn: 303559
|
#
d65b3e42 |
| 22-May-2017 |
Alex Lorenz <arphaman@gmail.com> |
[index] 'using namespace' declarations in functions should record the reference to the namespace
rdar://32323190
llvm-svn: 303555
|