Commit 9c16b4b
committed
[Serialization] Drop overridden relationship in constructors when safe
Deserialization recovery lead the compiler to drop public constructors
overridding internal constructors. This limits the logic to dropping the
overriding relationship instead of the whole constructor. This applies
when the overriden constructor fails to deserialize and only when the
overriding relationship was marked as not affecting ABI.
rdar://1047048321 parent 4665053 commit 9c16b4b
File tree
4 files changed
+37
-14
lines changed- lib/Serialization
- test/Serialization/Safety
4 files changed
+37
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3094 | 3094 | | |
3095 | 3095 | | |
3096 | 3096 | | |
3097 | | - | |
| 3097 | + | |
3098 | 3098 | | |
3099 | 3099 | | |
3100 | 3100 | | |
| |||
3104 | 3104 | | |
3105 | 3105 | | |
3106 | 3106 | | |
| 3107 | + | |
3107 | 3108 | | |
3108 | 3109 | | |
3109 | 3110 | | |
| |||
3130 | 3131 | | |
3131 | 3132 | | |
3132 | 3133 | | |
3133 | | - | |
3134 | | - | |
3135 | | - | |
3136 | | - | |
3137 | | - | |
| 3134 | + | |
| 3135 | + | |
| 3136 | + | |
| 3137 | + | |
| 3138 | + | |
| 3139 | + | |
| 3140 | + | |
| 3141 | + | |
| 3142 | + | |
| 3143 | + | |
| 3144 | + | |
| 3145 | + | |
| 3146 | + | |
3138 | 3147 | | |
3139 | | - | |
3140 | | - | |
3141 | | - | |
| 3148 | + | |
3142 | 3149 | | |
3143 | 3150 | | |
3144 | 3151 | | |
| |||
3198 | 3205 | | |
3199 | 3206 | | |
3200 | 3207 | | |
3201 | | - | |
| 3208 | + | |
3202 | 3209 | | |
3203 | 3210 | | |
3204 | 3211 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
| 61 | + | |
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| |||
1455 | 1455 | | |
1456 | 1456 | | |
1457 | 1457 | | |
| 1458 | + | |
1458 | 1459 | | |
1459 | 1460 | | |
1460 | 1461 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3535 | 3535 | | |
3536 | 3536 | | |
3537 | 3537 | | |
3538 | | - | |
| 3538 | + | |
| 3539 | + | |
3539 | 3540 | | |
3540 | 3541 | | |
3541 | 3542 | | |
| |||
4499 | 4500 | | |
4500 | 4501 | | |
4501 | 4502 | | |
4502 | | - | |
| 4503 | + | |
| 4504 | + | |
4503 | 4505 | | |
4504 | 4506 | | |
| 4507 | + | |
| 4508 | + | |
4505 | 4509 | | |
4506 | 4510 | | |
4507 | 4511 | | |
| |||
4517 | 4521 | | |
4518 | 4522 | | |
4519 | 4523 | | |
4520 | | - | |
| 4524 | + | |
| 4525 | + | |
4521 | 4526 | | |
4522 | 4527 | | |
4523 | 4528 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
22 | 24 | | |
23 | 25 | | |
24 | 26 | | |
| |||
33 | 35 | | |
34 | 36 | | |
35 | 37 | | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
36 | 42 | | |
37 | 43 | | |
38 | 44 | | |
| |||
63 | 69 | | |
64 | 70 | | |
65 | 71 | | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
0 commit comments