Commit d328512
authored
[Clang] Fix finding instantiated decls for class template specializations during instantiation (#72346)
This change aims to fix
#70375
It appears to me that the logic here should be handling specializations
in general, not just partial specialization. It also seems that both the
comment before the block and the `isInstantiationOf(ClassTemplate,
SpecTemplate)` below agree with my judgement.
The issue might just be a mistake that someone mistaken specialization
as a special case of partial specializations, while it's actually the
other way around.
Needs some experts to comment here if this is the right fix.
The code that caused clang ICE is added as a test case.1 parent eaffcc8 commit d328512
File tree
3 files changed
+39
-4
lines changed- clang
- docs
- lib/Sema
- test/SemaCXX
3 files changed
+39
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
608 | 608 | | |
609 | 609 | | |
610 | 610 | | |
| 611 | + | |
| 612 | + | |
611 | 613 | | |
612 | 614 | | |
613 | 615 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6207 | 6207 | | |
6208 | 6208 | | |
6209 | 6209 | | |
6210 | | - | |
| 6210 | + | |
6211 | 6211 | | |
6212 | 6212 | | |
6213 | 6213 | | |
6214 | | - | |
6215 | | - | |
6216 | | - | |
| 6214 | + | |
| 6215 | + | |
| 6216 | + | |
6217 | 6217 | | |
6218 | 6218 | | |
6219 | 6219 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
0 commit comments