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, 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 |
|
#
e8c78d85 |
| 23-Sep-2022 |
Anders Langlands <anderslangands@gmail.com> |
Allow getting template args for ClassTemplateSpecializations
Modifies clang_Cursor_getNumTemplateArguments() and friends to work on Struct, Class and ClassTemplatePartialSpecialization decls as well
Allow getting template args for ClassTemplateSpecializations
Modifies clang_Cursor_getNumTemplateArguments() and friends to work on Struct, Class and ClassTemplatePartialSpecialization decls as well as functions.
Differential Revision: https://reviews.llvm.org/D134416
show more ...
|
Revision tags: 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, 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, 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 |
|
#
fd019ed5 |
| 01-Oct-2019 |
Kadir Cetinkaya <kadircet@google.com> |
[clang] Make handling of unnamed template params similar to function params
Summary: Clang uses the location identifier should be inserted for declarator decls when a decl is unnamed. But for type t
[clang] Make handling of unnamed template params similar to function params
Summary: Clang uses the location identifier should be inserted for declarator decls when a decl is unnamed. But for type template and template template paramaters it uses the location of "typename/class" keyword, which makes it hard for tooling to insert/change parameter names.
This change tries to unify these two cases by making template parameter parsing and sourcerange operations similar to function params/declarator decls.
Reviewers: ilya-biryukov
Subscribers: arphaman, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68143
llvm-svn: 373340
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, llvmorg-8.0.0-rc3, 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, 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, llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3 |
|
#
fd6e39c4 |
| 16-Aug-2017 |
Ben Langmuir <blangmuir@apple.com> |
[index] Add indexing for unresolved-using declarations
In dependent contexts we end up referencing these, so make sure they have USRs, and have their declarations indexed. For the most part they beh
[index] Add indexing for unresolved-using declarations
In dependent contexts we end up referencing these, so make sure they have USRs, and have their declarations indexed. For the most part they behave like typedefs, but we also need to worry about having multiple using declarations with the same "name".
rdar://problem/33883650
llvm-svn: 311053
show more ...
|
Revision tags: llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1, llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1 |
|
#
43a833be |
| 09-Jan-2017 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Check that template template arguments match template template parameters properly even when a non-type template parameter has a dependent type.
Previously, if a non-type template parameter was depe
Check that template template arguments match template template parameters properly even when a non-type template parameter has a dependent type.
Previously, if a non-type template parameter was dependent, but not dependent on an outer level of template parameter, we would not match the type of the parameter. Under [temp.arg.template], we are supposed to check that the types are equivalent, which means checking for syntactic equivalence in the dependent case.
This also fixes some accepts-invalids when passing templates with auto-typed non-type template parameters as template template arguments.
llvm-svn: 291512
show more ...
|
Revision tags: llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1, llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1, llvmorg-3.8.1, llvmorg-3.8.1-rc1, llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
#
8f3b187e |
| 15-Nov-2015 |
Sergey Kalinichev <kalinichev.so.0@gmail.com> |
[libclang] Visit TypeAliasTemplateDecl
This makes TypeAliasTemplateDecl accessible via LibClang and python bindings
Differential Revision: http://reviews.llvm.org/D13844
llvm-svn: 253166
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1, llvmorg-3.6.1, llvmorg-3.6.1-rc1, llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1 |
|
#
f66cef75 |
| 08-Dec-2014 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Use same USR encoding for 'class' as 'struct'.
'class' and 'struct' can be used interchangebly for forward references. Use the same encoding otherwise we may get into a weird situation wh
[libclang] Use same USR encoding for 'class' as 'struct'.
'class' and 'struct' can be used interchangebly for forward references. Use the same encoding otherwise we may get into a weird situation where the USR for the same declaration is different based on whether the definition of the tag reference is visible or not.
llvm-svn: 223632
show more ...
|
#
d06ce400 |
| 08-Dec-2014 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Function templates can be 'overloaded' by return type, so encode the return type in the USR and handle DependentNameType in order to be able to distinguish them.
llvm-svn: 223628
|
#
c27a0c49 |
| 10-Oct-2014 |
Eli Bendersky <eliben@google.com> |
Add libclang capabilities to retriete template arguments from specializations.
Includes Python bindings.
Reviewed in http://reviews.llvm.org/D5621 Patch by Rob Springer
llvm-svn: 219529
|
Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1, llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2, llvmorg-3.4.1-rc1 |
|
#
3a7cc81d |
| 02-Feb-2014 |
Benjamin Kramer <benny.kra@googlemail.com> |
Report a correct end location for nameless parameters.
Ranges before: void test(void (*)(int), int, float); ~~~~~~~~~~~~~ ~~~~ ~~~~~~
Ranges after: void test(void (*)(int), int, float);
Report a correct end location for nameless parameters.
Ranges before: void test(void (*)(int), int, float); ~~~~~~~~~~~~~ ~~~~ ~~~~~~
Ranges after: void test(void (*)(int), int, float); ~~~~~~~~~~~~~ ~~~ ~~~~~
This does not change the actual location of the ParmVarDecl, it still points to the location where the name would be. PR17970.
llvm-svn: 200640
show more ...
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1, llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1, llvmorg-3.2.0, llvmorg-3.2.0-rc3, llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1, llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1, llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1 |
|
#
4c362d53 |
| 05-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Expose more statement, expression, and declaration kinds in libclang, from Manuel Holtgrewe!
llvm-svn: 141200
|
#
0274487d |
| 01-Sep-2011 |
Francois Pichet <pichet2000@gmail.com> |
Enable -fdelayed-template-parsing by default on Win32. I had to force -fno-delayed-template-parsing on some Index tests because delayed template parsing will change the output of some tests.
llvm-sv
Enable -fdelayed-template-parsing by default on Win32. I had to force -fno-delayed-template-parsing on some Index tests because delayed template parsing will change the output of some tests.
llvm-svn: 138942
show more ...
|
#
c1679ecf |
| 25-Jul-2011 |
Douglas Gregor <dgregor@apple.com> |
Added clang_getCursorReferenceNameRange to libclang to to retrieve parts of a cursor reference, from Erik Verbruggen!
llvm-svn: 135920
|
Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1 |
|
#
dff1930b |
| 08-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed source range for all DeclaratorDecl's.
llvm-svn: 127225
|
#
b3185b00 |
| 06-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed TypedefDecl and TemplateTypeParameter source range.
llvm-svn: 127119
|
#
a0935267 |
| 04-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed source range for ClassTemplateSpecializationDecl.
llvm-svn: 126999
|
#
23485e04 |
| 04-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Improved TemplateTypeParmDecl end location.
llvm-svn: 126996
|
#
e15d5536 |
| 04-Mar-2011 |
Abramo Bagnara <abramo.bagnara@gmail.com> |
Fixed end location of NonTypeTemplateParamDecl.
llvm-svn: 126994
|
#
16443fdd |
| 05-Nov-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach clang_getCursorReferenced() that a CXXConstructorExpr/CXXTemporaryObjectExpr references the constructor it calls. Then, tweak clang_getCursor() to prefer such a call over a type reference to th
Teach clang_getCursorReferenced() that a CXXConstructorExpr/CXXTemporaryObjectExpr references the constructor it calls. Then, tweak clang_getCursor() to prefer such a call over a type reference to the type being called.
llvm-svn: 118297
show more ...
|
#
457a04e3 |
| 22-Oct-2010 |
John McCall <rjmccall@apple.com> |
Substantially revise how clang computes the visibility of a declaration to more closely parallel the computation of linkage. This gets us to a state much closer to what gcc emits, modulo bugs, which
Substantially revise how clang computes the visibility of a declaration to more closely parallel the computation of linkage. This gets us to a state much closer to what gcc emits, modulo bugs, which will undoubtedly arise in abundance.
llvm-svn: 117147
show more ...
|
Revision tags: llvmorg-2.8.0 |
|
#
4e3918c0 |
| 02-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Teach clang_getCursorType() about base specifiers and other references to types.
Also, teach clang_getTypeDeclaration() about template specializations, injected-class-names, and elaborated types.
Teach clang_getCursorType() about base specifiers and other references to types.
Also, teach clang_getTypeDeclaration() about template specializations, injected-class-names, and elaborated types.
Fixes <rdar://problem/8506460>.
llvm-svn: 115425
show more ...
|
Revision tags: llvmorg-2.8.0-rc3 |
|
#
8af2ff89 |
| 20-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a simple, substitution-based compression scheme for USRs, so that redundant types don't result in super-long USRs. Fixes <rdar://problem/8447875>.
llvm-svn: 114347
|
Revision tags: llvmorg-2.8.0-rc2 |
|
#
f9088c93 |
| 17-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
When traversing an InitListExpr, there may not be a syntactic form; check for NULL and visit the InitListExpr we have if there is no syntactic form.
llvm-svn: 114203
|
#
16a2bdd6 |
| 13-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Introduce a new kind of cursor into libclang, which covers a reference to an "overloaded" set of declarations. This cursor kind works for unresolved references to functions/templates (e.g., a call wi
Introduce a new kind of cursor into libclang, which covers a reference to an "overloaded" set of declarations. This cursor kind works for unresolved references to functions/templates (e.g., a call within a template), using declarations, and Objective-C class and protocol forward declarations.
llvm-svn: 113805
show more ...
|
#
a93ab663 |
| 10-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
Add libclang support for label statements, gotos, and taking the address of a label (GNU extension).
llvm-svn: 113564
|
Revision tags: llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0 |
|
#
32e4c861 |
| 02-Sep-2010 |
Douglas Gregor <dgregor@apple.com> |
In libclang, visit the nested-name-specifier and explicitly-specified template arguments of a MemberExpr.
llvm-svn: 112860
|