Commit ae2b303
authored
[C++20] [Modules] Don't import initializer/pending implicit instantiations from other named module (llvm#167468)
Close llvm#166068
The cause of the problem is that we would import initializers and
pending implicit instantiations from other named module. This is very
bad and it may waste a lot of time.
And we didn't observe it as the weak symbols can live together and the
strong symbols would be removed by other mechanism. So we didn't observe
the bad behavior for a long time. But it indeeds waste compilation time.1 parent a7ceeff commit ae2b303
File tree
3 files changed
+65
-18
lines changed- clang
- lib/Serialization
- test/Modules
3 files changed
+65
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4087 | 4087 | | |
4088 | 4088 | | |
4089 | 4089 | | |
4090 | | - | |
4091 | | - | |
4092 | | - | |
4093 | | - | |
| 4090 | + | |
| 4091 | + | |
| 4092 | + | |
| 4093 | + | |
| 4094 | + | |
| 4095 | + | |
| 4096 | + | |
| 4097 | + | |
4094 | 4098 | | |
4095 | 4099 | | |
4096 | 4100 | | |
| |||
6438 | 6442 | | |
6439 | 6443 | | |
6440 | 6444 | | |
6441 | | - | |
6442 | | - | |
6443 | | - | |
6444 | | - | |
| 6445 | + | |
| 6446 | + | |
| 6447 | + | |
| 6448 | + | |
| 6449 | + | |
| 6450 | + | |
| 6451 | + | |
6445 | 6452 | | |
6446 | 6453 | | |
6447 | 6454 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3247 | 3247 | | |
3248 | 3248 | | |
3249 | 3249 | | |
3250 | | - | |
| 3250 | + | |
3251 | 3251 | | |
3252 | 3252 | | |
3253 | 3253 | | |
| |||
5827 | 5827 | | |
5828 | 5828 | | |
5829 | 5829 | | |
5830 | | - | |
5831 | | - | |
5832 | | - | |
5833 | | - | |
5834 | | - | |
| 5830 | + | |
| 5831 | + | |
| 5832 | + | |
| 5833 | + | |
| 5834 | + | |
| 5835 | + | |
5835 | 5836 | | |
5836 | | - | |
5837 | | - | |
| 5837 | + | |
| 5838 | + | |
| 5839 | + | |
| 5840 | + | |
| 5841 | + | |
5838 | 5842 | | |
5839 | | - | |
5840 | | - | |
5841 | 5843 | | |
5842 | 5844 | | |
5843 | 5845 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
0 commit comments