Commit 1b75487
committed
[clang] Reland: separate recursive instantiation check from CodeSynthesisContext
This makes pushing / popping CodeSynthesisContexts much cheaper,
as it delegates to another class this functionality which is not
actually needed in most cases.
It also converts a bunch of these uses into just asserts.
This improves compiler performance a little bit:
Some diagnostics change a little bit, because we avoid printing
a redundant context notes.
This relands #162224 with no changes, turns out the buildbot failure was
unrelated.1 parent 8091dce commit 1b75487
File tree
5 files changed
+142
-62
lines changed- clang
- include/clang/Sema
- lib/Sema
- test
- SemaCXX
- SemaTemplate
5 files changed
+142
-62
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13007 | 13007 | | |
13008 | 13008 | | |
13009 | 13009 | | |
| 13010 | + | |
| 13011 | + | |
| 13012 | + | |
| 13013 | + | |
| 13014 | + | |
| 13015 | + | |
| 13016 | + | |
| 13017 | + | |
| 13018 | + | |
| 13019 | + | |
| 13020 | + | |
| 13021 | + | |
| 13022 | + | |
| 13023 | + | |
| 13024 | + | |
| 13025 | + | |
| 13026 | + | |
| 13027 | + | |
| 13028 | + | |
| 13029 | + | |
| 13030 | + | |
| 13031 | + | |
| 13032 | + | |
| 13033 | + | |
| 13034 | + | |
| 13035 | + | |
| 13036 | + | |
| 13037 | + | |
| 13038 | + | |
| 13039 | + | |
| 13040 | + | |
13010 | 13041 | | |
13011 | 13042 | | |
13012 | 13043 | | |
| |||
13368 | 13399 | | |
13369 | 13400 | | |
13370 | 13401 | | |
13371 | | - | |
13372 | | - | |
13373 | | - | |
13374 | | - | |
13375 | 13402 | | |
13376 | 13403 | | |
13377 | 13404 | | |
13378 | | - | |
13379 | 13405 | | |
13380 | 13406 | | |
13381 | 13407 | | |
| |||
13505 | 13531 | | |
13506 | 13532 | | |
13507 | 13533 | | |
13508 | | - | |
| 13534 | + | |
13509 | 13535 | | |
13510 | 13536 | | |
13511 | 13537 | | |
| |||
13780 | 13806 | | |
13781 | 13807 | | |
13782 | 13808 | | |
| 13809 | + | |
| 13810 | + | |
| 13811 | + | |
| 13812 | + | |
| 13813 | + | |
| 13814 | + | |
| 13815 | + | |
| 13816 | + | |
13783 | 13817 | | |
13784 | 13818 | | |
13785 | 13819 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
639 | 639 | | |
640 | 640 | | |
641 | 641 | | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | | - | |
| 642 | + | |
649 | 643 | | |
650 | | - | |
651 | 644 | | |
652 | 645 | | |
653 | 646 | | |
| |||
902 | 895 | | |
903 | 896 | | |
904 | 897 | | |
905 | | - | |
906 | | - | |
907 | | - | |
908 | | - | |
909 | | - | |
910 | | - | |
911 | | - | |
912 | 898 | | |
913 | 899 | | |
914 | 900 | | |
| |||
3312 | 3298 | | |
3313 | 3299 | | |
3314 | 3300 | | |
| 3301 | + | |
| 3302 | + | |
| 3303 | + | |
| 3304 | + | |
| 3305 | + | |
| 3306 | + | |
| 3307 | + | |
| 3308 | + | |
3315 | 3309 | | |
3316 | 3310 | | |
3317 | 3311 | | |
3318 | 3312 | | |
3319 | 3313 | | |
3320 | 3314 | | |
3321 | | - | |
3322 | | - | |
3323 | | - | |
3324 | | - | |
3325 | | - | |
3326 | 3315 | | |
3327 | 3316 | | |
3328 | 3317 | | |
| |||
3554 | 3543 | | |
3555 | 3544 | | |
3556 | 3545 | | |
3557 | | - | |
3558 | | - | |
3559 | | - | |
3560 | | - | |
3561 | | - | |
3562 | | - | |
| 3546 | + | |
| 3547 | + | |
| 3548 | + | |
| 3549 | + | |
| 3550 | + | |
| 3551 | + | |
| 3552 | + | |
| 3553 | + | |
| 3554 | + | |
| 3555 | + | |
| 3556 | + | |
| 3557 | + | |
| 3558 | + | |
| 3559 | + | |
| 3560 | + | |
| 3561 | + | |
| 3562 | + | |
| 3563 | + | |
| 3564 | + | |
| 3565 | + | |
3563 | 3566 | | |
3564 | 3567 | | |
3565 | 3568 | | |
| |||
3596 | 3599 | | |
3597 | 3600 | | |
3598 | 3601 | | |
3599 | | - | |
3600 | 3602 | | |
3601 | 3603 | | |
3602 | 3604 | | |
| |||
3808 | 3810 | | |
3809 | 3811 | | |
3810 | 3812 | | |
| 3813 | + | |
| 3814 | + | |
| 3815 | + | |
| 3816 | + | |
| 3817 | + | |
| 3818 | + | |
3811 | 3819 | | |
3812 | 3820 | | |
3813 | 3821 | | |
| |||
3825 | 3833 | | |
3826 | 3834 | | |
3827 | 3835 | | |
3828 | | - | |
3829 | | - | |
3830 | 3836 | | |
3831 | 3837 | | |
3832 | 3838 | | |
| |||
3865 | 3871 | | |
3866 | 3872 | | |
3867 | 3873 | | |
| 3874 | + | |
| 3875 | + | |
| 3876 | + | |
| 3877 | + | |
| 3878 | + | |
| 3879 | + | |
| 3880 | + | |
| 3881 | + | |
3868 | 3882 | | |
3869 | 3883 | | |
3870 | 3884 | | |
| |||
3883 | 3897 | | |
3884 | 3898 | | |
3885 | 3899 | | |
3886 | | - | |
3887 | | - | |
3888 | | - | |
3889 | | - | |
3890 | | - | |
3891 | | - | |
3892 | 3900 | | |
3893 | 3901 | | |
3894 | 3902 | | |
| |||
3972 | 3980 | | |
3973 | 3981 | | |
3974 | 3982 | | |
3975 | | - | |
3976 | | - | |
3977 | 3983 | | |
3978 | 3984 | | |
3979 | 3985 | | |
| |||
4136 | 4142 | | |
4137 | 4143 | | |
4138 | 4144 | | |
| 4145 | + | |
| 4146 | + | |
| 4147 | + | |
| 4148 | + | |
| 4149 | + | |
4139 | 4150 | | |
4140 | 4151 | | |
4141 | 4152 | | |
| |||
4148 | 4159 | | |
4149 | 4160 | | |
4150 | 4161 | | |
4151 | | - | |
| 4162 | + | |
4152 | 4163 | | |
4153 | 4164 | | |
4154 | 4165 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5312 | 5312 | | |
5313 | 5313 | | |
5314 | 5314 | | |
| 5315 | + | |
| 5316 | + | |
| 5317 | + | |
| 5318 | + | |
| 5319 | + | |
| 5320 | + | |
| 5321 | + | |
| 5322 | + | |
| 5323 | + | |
| 5324 | + | |
5315 | 5325 | | |
5316 | 5326 | | |
5317 | 5327 | | |
| |||
5320 | 5330 | | |
5321 | 5331 | | |
5322 | 5332 | | |
5323 | | - | |
5324 | | - | |
5325 | | - | |
5326 | | - | |
5327 | | - | |
5328 | | - | |
5329 | | - | |
5330 | 5333 | | |
5331 | 5334 | | |
5332 | 5335 | | |
| |||
5386 | 5389 | | |
5387 | 5390 | | |
5388 | 5391 | | |
5389 | | - | |
5390 | | - | |
5391 | 5392 | | |
5392 | 5393 | | |
5393 | 5394 | | |
| |||
5545 | 5546 | | |
5546 | 5547 | | |
5547 | 5548 | | |
| 5549 | + | |
| 5550 | + | |
| 5551 | + | |
| 5552 | + | |
| 5553 | + | |
| 5554 | + | |
5548 | 5555 | | |
5549 | 5556 | | |
5550 | 5557 | | |
| |||
5684 | 5691 | | |
5685 | 5692 | | |
5686 | 5693 | | |
5687 | | - | |
| 5694 | + | |
5688 | 5695 | | |
5689 | 5696 | | |
5690 | 5697 | | |
| |||
6253 | 6260 | | |
6254 | 6261 | | |
6255 | 6262 | | |
| 6263 | + | |
| 6264 | + | |
| 6265 | + | |
| 6266 | + | |
| 6267 | + | |
6256 | 6268 | | |
6257 | 6269 | | |
6258 | 6270 | | |
| |||
6276 | 6288 | | |
6277 | 6289 | | |
6278 | 6290 | | |
6279 | | - | |
| 6291 | + | |
6280 | 6292 | | |
6281 | 6293 | | |
6282 | 6294 | | |
| |||
6380 | 6392 | | |
6381 | 6393 | | |
6382 | 6394 | | |
6383 | | - | |
| 6395 | + | |
6384 | 6396 | | |
6385 | 6397 | | |
6386 | 6398 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
86 | | - | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
87 | 88 | | |
88 | 89 | | |
89 | 90 | | |
90 | 91 | | |
91 | | - | |
| 92 | + | |
92 | 93 | | |
93 | 94 | | |
94 | 95 | | |
0 commit comments