@@ -33,10 +33,11 @@ namespace coreinit
33
33
34
34
uint32 OSAddAtomic (std::atomic<uint32be>* mem, uint32 adder)
35
35
{
36
+ // used by SDL Wii U port
36
37
uint32be knownValue;
37
38
while (true )
38
39
{
39
- uint32be knownValue = mem->load ();
40
+ knownValue = mem->load ();
40
41
uint32be newValue = knownValue + adder;
41
42
if (mem->compare_exchange_strong (knownValue, newValue))
42
43
break ;
@@ -68,7 +69,7 @@ namespace coreinit
68
69
uint64be knownValue;
69
70
while (true )
70
71
{
71
- uint64be knownValue = mem->load ();
72
+ knownValue = mem->load ();
72
73
uint64be newValue = knownValue + adder;
73
74
if (mem->compare_exchange_strong (knownValue, newValue))
74
75
break ;
@@ -81,7 +82,7 @@ namespace coreinit
81
82
uint64be knownValue;
82
83
while (true )
83
84
{
84
- uint64be knownValue = mem->load ();
85
+ knownValue = mem->load ();
85
86
uint64be newValue = knownValue & val;
86
87
if (mem->compare_exchange_strong (knownValue, newValue))
87
88
break ;
@@ -94,7 +95,7 @@ namespace coreinit
94
95
uint64be knownValue;
95
96
while (true )
96
97
{
97
- uint64be knownValue = mem->load ();
98
+ knownValue = mem->load ();
98
99
uint64be newValue = knownValue | val;
99
100
if (mem->compare_exchange_strong (knownValue, newValue))
100
101
break ;
0 commit comments