Commit bcdb732
authored
[clang] Reland: fix getTemplateInstantiationArgs (#201373)
Relands #199528
This implements a new strategy for collecting the template arguments, by
relying on the qualifiers and template parameter lists to navigate the
template
context of out-of-line definitions.
This greatly simplifies the signature of that function, by removing a
bunch
of workarounds, and simpliffying a couple that weren't removed yet.
Since this now relies on qualifiers and template parameter lists,
this patch expends most of its effort making sure these are placed,
transformed and propagated to template instantiations.
Also makes the explicit specialization AST nodes stop abusing the
template
parameter lists by storing it's own template parameter list, creating a
dedicated field for them, similar to partial specializations.1 parent bb3d14f commit bcdb732
61 files changed
Lines changed: 1493 additions & 1715 deletions
File tree
- clang-tools-extra
- clang-tidy/misc
- clangd
- refactor/tweaks
- clang
- docs
- include/clang
- ASTMatchers
- AST
- Basic
- Sema
- lib
- ASTMatchers/Dynamic
- AST
- Analysis
- CIR/CodeGen
- CodeGen
- Index
- InstallAPI
- Parse
- Sema
- Serialization
- StaticAnalyzer/Core
- Tooling/Syntax
- test
- AST
- CXX
- basic/basic.link
- temp
- temp.arg/temp.arg.template
- temp.constr/temp.constr.decl
- temp.decls/temp.spec.partial/temp.spec.partial.member
- temp.spec/temp.expl.spec
- CodeGenCXX
- SemaTemplate
- Templight
- tools/libclang
- unittests
- ASTMatchers
- AST
- lldb/source/Plugins
- Language/CPlusPlus
- TypeSystem/Clang
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
| 109 | + | |
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
590 | 590 | | |
591 | 591 | | |
592 | 592 | | |
593 | | - | |
594 | | - | |
595 | | - | |
596 | | - | |
597 | | - | |
598 | | - | |
599 | | - | |
600 | | - | |
601 | | - | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
602 | 602 | | |
603 | 603 | | |
604 | 604 | | |
605 | 605 | | |
606 | | - | |
607 | | - | |
608 | | - | |
609 | | - | |
610 | | - | |
611 | | - | |
612 | | - | |
613 | | - | |
614 | | - | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
615 | 615 | | |
616 | 616 | | |
617 | 617 | | |
| |||
625 | 625 | | |
626 | 626 | | |
627 | 627 | | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
628 | 631 | | |
629 | 632 | | |
630 | 633 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
364 | 364 | | |
365 | 365 | | |
366 | 366 | | |
367 | | - | |
| 367 | + | |
368 | 368 | | |
369 | 369 | | |
370 | 370 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
693 | 693 | | |
694 | 694 | | |
695 | 695 | | |
| 696 | + | |
696 | 697 | | |
697 | 698 | | |
698 | 699 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2122 | 2122 | | |
2123 | 2123 | | |
2124 | 2124 | | |
2125 | | - | |
2126 | | - | |
2127 | | - | |
2128 | | - | |
2129 | | - | |
2130 | | - | |
2131 | | - | |
2132 | | - | |
2133 | | - | |
2134 | | - | |
2135 | | - | |
2136 | | - | |
2137 | | - | |
2138 | | - | |
2139 | | - | |
2140 | | - | |
2141 | | - | |
2142 | | - | |
2143 | | - | |
2144 | | - | |
2145 | | - | |
2146 | | - | |
2147 | | - | |
2148 | | - | |
2149 | | - | |
2150 | | - | |
2151 | | - | |
2152 | | - | |
2153 | 2125 | | |
2154 | 2126 | | |
2155 | 2127 | | |
| |||
2245 | 2217 | | |
2246 | 2218 | | |
2247 | 2219 | | |
| 2220 | + | |
| 2221 | + | |
2248 | 2222 | | |
2249 | 2223 | | |
2250 | 2224 | | |
| |||
3070 | 3044 | | |
3071 | 3045 | | |
3072 | 3046 | | |
| 3047 | + | |
| 3048 | + | |
| 3049 | + | |
3073 | 3050 | | |
3074 | 3051 | | |
3075 | 3052 | | |
| 3053 | + | |
| 3054 | + | |
3076 | 3055 | | |
3077 | 3056 | | |
3078 | 3057 | | |
| |||
3085 | 3064 | | |
3086 | 3065 | | |
3087 | 3066 | | |
| 3067 | + | |
| 3068 | + | |
| 3069 | + | |
3088 | 3070 | | |
3089 | 3071 | | |
3090 | 3072 | | |
3091 | 3073 | | |
| 3074 | + | |
| 3075 | + | |
| 3076 | + | |
| 3077 | + | |
3092 | 3078 | | |
3093 | | - | |
3094 | | - | |
3095 | | - | |
3096 | | - | |
3097 | | - | |
3098 | | - | |
3099 | | - | |
3100 | | - | |
3101 | | - | |
| 3079 | + | |
| 3080 | + | |
| 3081 | + | |
| 3082 | + | |
| 3083 | + | |
| 3084 | + | |
3102 | 3085 | | |
3103 | 3086 | | |
3104 | 3087 | | |
3105 | 3088 | | |
3106 | 3089 | | |
| 3090 | + | |
3107 | 3091 | | |
3108 | 3092 | | |
3109 | 3093 | | |
| |||
0 commit comments