Commit 5f26072
committed
[Clang] Consider preferred_type in bitfield warnings (#116760)
Very simply extends the bitfield sema checks for assignment to fields
with a preferred type specified to consider the preferred type if the
decl storage type is not explicitly an enum type.
This does mean that if the preferred and explicit types have different
storage requirements we may not warn in all possible cases, but that's
a scenario for which the warnings are much more complex and confusing.1 parent 2310e3e commit 5f26072
File tree
4 files changed
+546
-7
lines changed- clang
- include/clang/Basic
- lib/Sema
- test
- SemaCXX
- Sema
4 files changed
+546
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6404 | 6404 | | |
6405 | 6405 | | |
6406 | 6406 | | |
6407 | | - | |
| 6407 | + | |
6408 | 6408 | | |
6409 | 6409 | | |
6410 | 6410 | | |
6411 | 6411 | | |
6412 | | - | |
| 6412 | + | |
6413 | 6413 | | |
6414 | 6414 | | |
6415 | 6415 | | |
6416 | 6416 | | |
6417 | | - | |
| 6417 | + | |
6418 | 6418 | | |
6419 | 6419 | | |
6420 | 6420 | | |
| 6421 | + | |
| 6422 | + | |
| 6423 | + | |
6421 | 6424 | | |
6422 | 6425 | | |
6423 | 6426 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10488 | 10488 | | |
10489 | 10489 | | |
10490 | 10490 | | |
10491 | | - | |
| 10491 | + | |
| 10492 | + | |
| 10493 | + | |
| 10494 | + | |
| 10495 | + | |
| 10496 | + | |
| 10497 | + | |
| 10498 | + | |
10492 | 10499 | | |
10493 | 10500 | | |
10494 | 10501 | | |
| |||
10509 | 10516 | | |
10510 | 10517 | | |
10511 | 10518 | | |
10512 | | - | |
| 10519 | + | |
10513 | 10520 | | |
10514 | | - | |
| 10521 | + | |
10515 | 10522 | | |
10516 | 10523 | | |
10517 | 10524 | | |
10518 | 10525 | | |
10519 | 10526 | | |
| 10527 | + | |
| 10528 | + | |
| 10529 | + | |
| 10530 | + | |
10520 | 10531 | | |
10521 | 10532 | | |
10522 | 10533 | | |
| |||
10530 | 10541 | | |
10531 | 10542 | | |
10532 | 10543 | | |
10533 | | - | |
| 10544 | + | |
10534 | 10545 | | |
10535 | 10546 | | |
| 10547 | + | |
| 10548 | + | |
| 10549 | + | |
| 10550 | + | |
10536 | 10551 | | |
10537 | 10552 | | |
10538 | 10553 | | |
| |||
| 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 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
0 commit comments