Commit 877406d
committed
Fix a recent regression in atomics support
A recent update changed the types of the bit-fields in ATOMIC_INFO from
unsigned int to enum types. This resulted in the values of those
fields being incorrectly sign extended when extracted from the struct.
Fix the problem by changing the fields of ATOMIC_INFO to not be
bit-fields. This required changing the code that encodes/decodes
ATOMIC_INFO to/from an int.1 parent 445f4fd commit 877406d
2 files changed
+23
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
54 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
55 | 56 | | |
56 | | - | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
57 | 63 | | |
58 | 64 | | |
59 | 65 | | |
| |||
13637 | 13643 | | |
13638 | 13644 | | |
13639 | 13645 | | |
13640 | | - | |
| 13646 | + | |
13641 | 13647 | | |
13642 | 13648 | | |
13643 | 13649 | | |
| |||
13679 | 13685 | | |
13680 | 13686 | | |
13681 | 13687 | | |
| 13688 | + | |
13682 | 13689 | | |
13683 | 13690 | | |
13684 | | - | |
| 13691 | + | |
| 13692 | + | |
| 13693 | + | |
| 13694 | + | |
| 13695 | + | |
13685 | 13696 | | |
13686 | 13697 | | |
13687 | 13698 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | | - | |
109 | | - | |
110 | | - | |
| 108 | + | |
111 | 109 | | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
116 | 114 | | |
117 | 115 | | |
118 | 116 | | |
| |||
0 commit comments