Commit 5e9bf1f
committed
[SIL] Store ClangTypeInfo in SILFunctionType.
This patch includes a large number of changes to make sure that:
1. When ExtInfo values are created, we store a ClangTypeInfo if applicable.
2. We reduce dependence on storing SIL representations in ASTExtInfo values.
3. Reduce places where we sloppily create ASTExtInfo values which should
store a Clang type but don't. In certain places, this is unavoidable;
see [NOTE: ExtInfo-Clang-type-invariant].
Ideally, we would check that the appropriate SILExtInfo does always store
a ClangTypeInfo. However, the presence of the HasClangFunctionTypes option
means that we would need to condition that assertion based on a dynamic check.
Plumbing the setting down to SILExtInfoBuilder's checkInvariants would be too
much work. So we weaken the check for now; we should strengthen it once we
"turn on" HasClangFunctionTypes and remove the dynamic feature switch.1 parent e48469d commit 5e9bf1f
File tree
22 files changed
+580
-273
lines changed- include/swift
- AST
- SIL
- lib
- AST
- ClangImporter
- IRGen
- SILGen
- SIL/IR
- Sema
22 files changed
+580
-273
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| |||
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
| 58 | + | |
57 | 59 | | |
58 | 60 | | |
59 | 61 | | |
| |||
81 | 83 | | |
82 | 84 | | |
83 | 85 | | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
84 | 106 | | |
85 | 107 | | |
86 | 108 | | |
| |||
146 | 168 | | |
147 | 169 | | |
148 | 170 | | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
149 | 206 | | |
150 | 207 | | |
151 | 208 | | |
| |||
165 | 222 | | |
166 | 223 | | |
167 | 224 | | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
168 | 244 | | |
169 | 245 | | |
170 | 246 | | |
| |||
292 | 368 | | |
293 | 369 | | |
294 | 370 | | |
295 | | - | |
| 371 | + | |
| 372 | + | |
296 | 373 | | |
297 | 374 | | |
298 | 375 | | |
| |||
333 | 410 | | |
334 | 411 | | |
335 | 412 | | |
336 | | - | |
| 413 | + | |
| 414 | + | |
337 | 415 | | |
338 | 416 | | |
339 | 417 | | |
| |||
508 | 586 | | |
509 | 587 | | |
510 | 588 | | |
511 | | - | |
| 589 | + | |
512 | 590 | | |
513 | 591 | | |
514 | 592 | | |
| |||
610 | 688 | | |
611 | 689 | | |
612 | 690 | | |
613 | | - | |
| 691 | + | |
| 692 | + | |
614 | 693 | | |
615 | 694 | | |
616 | 695 | | |
| |||
633 | 712 | | |
634 | 713 | | |
635 | 714 | | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
636 | 719 | | |
637 | 720 | | |
638 | 721 | | |
| |||
669 | 752 | | |
670 | 753 | | |
671 | 754 | | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
672 | 760 | | |
673 | 761 | | |
674 | 762 | | |
| |||
730 | 818 | | |
731 | 819 | | |
732 | 820 | | |
| 821 | + | |
| 822 | + | |
733 | 823 | | |
734 | 824 | | |
735 | 825 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3888 | 3888 | | |
3889 | 3889 | | |
3890 | 3890 | | |
3891 | | - | |
| 3891 | + | |
3892 | 3892 | | |
3893 | 3893 | | |
3894 | 3894 | | |
| |||
3912 | 3912 | | |
3913 | 3913 | | |
3914 | 3914 | | |
| 3915 | + | |
| 3916 | + | |
| 3917 | + | |
| 3918 | + | |
3915 | 3919 | | |
3916 | 3920 | | |
3917 | 3921 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
63 | 67 | | |
64 | 68 | | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | 69 | | |
73 | 70 | | |
74 | 71 | | |
| |||
992 | 989 | | |
993 | 990 | | |
994 | 991 | | |
995 | | - | |
| 992 | + | |
| 993 | + | |
996 | 994 | | |
997 | 995 | | |
998 | 996 | | |
| |||
1121 | 1119 | | |
1122 | 1120 | | |
1123 | 1121 | | |
1124 | | - | |
| 1122 | + | |
1125 | 1123 | | |
1126 | 1124 | | |
1127 | 1125 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3246 | 3246 | | |
3247 | 3247 | | |
3248 | 3248 | | |
| 3249 | + | |
| 3250 | + | |
| 3251 | + | |
3249 | 3252 | | |
3250 | 3253 | | |
3251 | 3254 | | |
| |||
3365 | 3368 | | |
3366 | 3369 | | |
3367 | 3370 | | |
| 3371 | + | |
3368 | 3372 | | |
3369 | 3373 | | |
3370 | 3374 | | |
| |||
3402 | 3406 | | |
3403 | 3407 | | |
3404 | 3408 | | |
| 3409 | + | |
| 3410 | + | |
| 3411 | + | |
3405 | 3412 | | |
3406 | 3413 | | |
3407 | 3414 | | |
| |||
3524 | 3531 | | |
3525 | 3532 | | |
3526 | 3533 | | |
| 3534 | + | |
| 3535 | + | |
| 3536 | + | |
| 3537 | + | |
| 3538 | + | |
| 3539 | + | |
| 3540 | + | |
| 3541 | + | |
| 3542 | + | |
| 3543 | + | |
| 3544 | + | |
| 3545 | + | |
| 3546 | + | |
| 3547 | + | |
| 3548 | + | |
3527 | 3549 | | |
3528 | 3550 | | |
3529 | 3551 | | |
| |||
3541 | 3563 | | |
3542 | 3564 | | |
3543 | 3565 | | |
3544 | | - | |
3545 | | - | |
3546 | | - | |
| 3566 | + | |
| 3567 | + | |
3547 | 3568 | | |
3548 | 3569 | | |
3549 | | - | |
| 3570 | + | |
3550 | 3571 | | |
3551 | 3572 | | |
3552 | 3573 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
396 | 396 | | |
397 | 397 | | |
398 | 398 | | |
399 | | - | |
| 399 | + | |
400 | 400 | | |
401 | 401 | | |
402 | 402 | | |
| |||
523 | 523 | | |
524 | 524 | | |
525 | 525 | | |
526 | | - | |
527 | | - | |
528 | | - | |
529 | | - | |
530 | | - | |
531 | | - | |
532 | 526 | | |
533 | 527 | | |
534 | 528 | | |
| |||
553 | 547 | | |
554 | 548 | | |
555 | 549 | | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
556 | 565 | | |
557 | 566 | | |
558 | 567 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3831 | 3831 | | |
3832 | 3832 | | |
3833 | 3833 | | |
| 3834 | + | |
| 3835 | + | |
| 3836 | + | |
| 3837 | + | |
| 3838 | + | |
| 3839 | + | |
| 3840 | + | |
| 3841 | + | |
3834 | 3842 | | |
3835 | 3843 | | |
3836 | 3844 | | |
| |||
0 commit comments