Commit 754eabe
Automerge: [ItaniumMangle] Make sure class types are added to the dictionary of substitution candidates when compiling for older ABIs (#138947)
`mangleCXXRecordDecl` should add class types to the substitution
dictionary unless it is called by `mangleCXXCtorVTable` (see
llvm/llvm-project#109970 for why that is
needed).
This fixes a mis-compile caused by
llvm/llvm-project#132401, which started calling
`mangleCXXRecordDecl` in `CXXNameMangler::mangleType(const
MemberPointerType *T)`.
rdar://149307496File tree
3 files changed
+37
-4
lines changed- clang
- lib/AST
- test/CodeGenCXX
3 files changed
+37
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
455 | 455 | | |
456 | 456 | | |
457 | 457 | | |
458 | | - | |
| 458 | + | |
| 459 | + | |
459 | 460 | | |
460 | 461 | | |
461 | 462 | | |
| |||
3103 | 3104 | | |
3104 | 3105 | | |
3105 | 3106 | | |
3106 | | - | |
| 3107 | + | |
| 3108 | + | |
3107 | 3109 | | |
3108 | 3110 | | |
3109 | 3111 | | |
3110 | | - | |
| 3112 | + | |
3111 | 3113 | | |
3112 | 3114 | | |
3113 | 3115 | | |
| |||
7557 | 7559 | | |
7558 | 7560 | | |
7559 | 7561 | | |
7560 | | - | |
| 7562 | + | |
| 7563 | + | |
| 7564 | + | |
| 7565 | + | |
| 7566 | + | |
| 7567 | + | |
7561 | 7568 | | |
7562 | 7569 | | |
7563 | 7570 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
3 | 17 | | |
4 | 18 | | |
5 | 19 | | |
| |||
0 commit comments