1### Compilation failed: 2 3error: 18: type mismatch: '=' cannot operate on 'atomicUint', 'int' 4 wgCounterA = 1; 5 ^^^^^^^^^^^^^^ 6error: 19: cannot construct 'atomicUint' 7 wgCounterA = atomicUint(1); 8 ^^^^^^^^^^^^^ 9error: 21: '+' cannot operate on 'atomicUint' 10 +wgCounterA; 11 ^^^^^^^^^^^ 12error: 22: '-' cannot operate on 'atomicUint' 13 -wgCounterA; 14 ^^^^^^^^^^^ 15error: 23: '!' cannot operate on 'atomicUint' 16 !wgCounterA; 17 ^^^^^^^^^^^ 18error: 24: '~' cannot operate on 'atomicUint' 19 ~wgCounterA; 20 ^^^^^^^^^^^ 21error: 26: '++' cannot operate on 'atomicUint' 22 wgCounterA++; 23 ^^^^^^^^^^^^ 24error: 27: '--' cannot operate on 'atomicUint' 25 wgCounterA--; 26 ^^^^^^^^^^^^ 27error: 28: '++' cannot operate on 'atomicUint' 28 ++wgCounterA; 29 ^^^^^^^^^^^^ 30error: 29: '--' cannot operate on 'atomicUint' 31 --wgCounterA; 32 ^^^^^^^^^^^^ 33error: 31: '-' cannot operate on 'atomicUint' 34 wgCounterA = -wgCounterA; 35 ^^^^^^^^^^^ 36error: 32: '+' cannot operate on 'atomicUint' 37 wgCounterA = +wgCounterA; 38 ^^^^^^^^^^^ 39error: 33: assignments to opaque type 'atomicUint' are not permitted 40 wgCounterA = wgCounterB; 41 ^^^^^^^^^^^^^^^^^^^^^^^ 42error: 34: type mismatch: '+=' cannot operate on 'atomicUint', 'atomicUint' 43 wgCounterA += wgCounterB; 44 ^^^^^^^^^^^^^^^^^^^^^^^^ 45error: 35: type mismatch: '-=' cannot operate on 'atomicUint', 'atomicUint' 46 wgCounterA -= wgCounterB; 47 ^^^^^^^^^^^^^^^^^^^^^^^^ 48error: 36: type mismatch: '*=' cannot operate on 'atomicUint', 'atomicUint' 49 wgCounterA *= wgCounterB; 50 ^^^^^^^^^^^^^^^^^^^^^^^^ 51error: 37: type mismatch: '/=' cannot operate on 'atomicUint', 'atomicUint' 52 wgCounterA /= wgCounterB; 53 ^^^^^^^^^^^^^^^^^^^^^^^^ 54error: 39: type mismatch: '+' cannot operate on 'atomicUint', 'int' 55 wgCounterA = wgCounterA + 1; 56 ^^^^^^^^^^^^^^ 57error: 40: type mismatch: '-' cannot operate on 'atomicUint', 'int' 58 wgCounterA = wgCounterA - 1; 59 ^^^^^^^^^^^^^^ 60error: 41: type mismatch: '*' cannot operate on 'atomicUint', 'int' 61 wgCounterA = wgCounterA * 1; 62 ^^^^^^^^^^^^^^ 63error: 42: type mismatch: '/' cannot operate on 'atomicUint', 'int' 64 wgCounterA = wgCounterA / 1; 65 ^^^^^^^^^^^^^^ 66error: 43: type mismatch: '+' cannot operate on 'atomicUint', 'atomicUint' 67 wgCounterA = wgCounterA + wgCounterB; 68 ^^^^^^^^^^^^^^^^^^^^^^^ 69error: 44: type mismatch: '-' cannot operate on 'atomicUint', 'atomicUint' 70 wgCounterA = wgCounterA - wgCounterB; 71 ^^^^^^^^^^^^^^^^^^^^^^^ 72error: 45: type mismatch: '*' cannot operate on 'atomicUint', 'atomicUint' 73 wgCounterA = wgCounterA * wgCounterB; 74 ^^^^^^^^^^^^^^^^^^^^^^^ 75error: 46: type mismatch: '/' cannot operate on 'atomicUint', 'atomicUint' 76 wgCounterA = wgCounterA / wgCounterB; 77 ^^^^^^^^^^^^^^^^^^^^^^^ 78error: 48: type mismatch: '==' cannot operate on 'atomicUint', 'atomicUint' 79 wgCounterA == wgCounterB; 80 ^^^^^^^^^^^^^^^^^^^^^^^^ 81error: 49: type mismatch: '!=' cannot operate on 'atomicUint', 'atomicUint' 82 wgCounterA != wgCounterB; 83 ^^^^^^^^^^^^^^^^^^^^^^^^ 84error: 50: type mismatch: '<' cannot operate on 'atomicUint', 'atomicUint' 85 wgCounterA < wgCounterB; 86 ^^^^^^^^^^^^^^^^^^^^^^^ 87error: 51: type mismatch: '<=' cannot operate on 'atomicUint', 'atomicUint' 88 wgCounterA <= wgCounterB; 89 ^^^^^^^^^^^^^^^^^^^^^^^^ 90error: 52: type mismatch: '>' cannot operate on 'atomicUint', 'atomicUint' 91 wgCounterA > wgCounterB; 92 ^^^^^^^^^^^^^^^^^^^^^^^ 93error: 53: type mismatch: '>=' cannot operate on 'atomicUint', 'atomicUint' 94 wgCounterA >= wgCounterB; 95 ^^^^^^^^^^^^^^^^^^^^^^^^ 96error: 54: type mismatch: '&&' cannot operate on 'atomicUint', 'atomicUint' 97 wgCounterA && wgCounterB; 98 ^^^^^^^^^^^^^^^^^^^^^^^^ 99error: 55: type mismatch: '||' cannot operate on 'atomicUint', 'atomicUint' 100 wgCounterA || wgCounterB; 101 ^^^^^^^^^^^^^^^^^^^^^^^^ 102error: 56: type mismatch: '&' cannot operate on 'atomicUint', 'atomicUint' 103 wgCounterA & wgCounterB; 104 ^^^^^^^^^^^^^^^^^^^^^^^ 105error: 57: type mismatch: '|' cannot operate on 'atomicUint', 'atomicUint' 106 wgCounterA | wgCounterB; 107 ^^^^^^^^^^^^^^^^^^^^^^^ 108error: 59: expected 'uint', but found 'atomicUint' 109 uint a = wgCounterA; 110 ^^^^^^^^^^ 111error: 60: construction of struct type 'S' with atomic member is not allowed 112 wgStructWithAtomicMember = S(1); 113 ^^^^ 114error: 61: cannot construct 'atomicUint' 115 wgStructWithAtomicMember = S(atomicUint(1)); 116 ^^^^^^^^^^^^^ 117error: 61: construction of struct type 'S' with atomic member is not allowed 118 wgStructWithAtomicMember = S(atomicUint(1)); 119 ^^^^^^^^^^^^^^^^ 120error: 62: construction of struct type 'S' with atomic member is not allowed 121 wgStructWithAtomicMember = S(wgCounterA); 122 ^^^^^^^^^^^^^ 123error: 64: assignments to opaque type 'atomicUint' are not permitted 124 wgAtomicArray[0] = wgCounterA; 125 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 126error: 65: assignments to opaque type 'atomicUint' are not permitted 127 wgAtomicArray[1] = wgCounterB; 128 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 129error: 66: assignments to opaque type 'atomicUint[2]' are not permitted 130 wgAtomicArray = wgAtomicArray2; 131 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 132error: 67: construction of array type 'atomicUint[2]' with atomic member is not allowed 133 wgAtomicArray = atomicUint[2](wgCounterA, wgCounterB); 134 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 135error: 69: assignments to opaque type 'S' are not permitted 136 wgStructWithAtomicMemberArray[0] = wgStructWithAtomicMember; 137 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 138error: 70: construction of array type 'S[2]' with atomic member is not allowed 139 wgStructWithAtomicMemberArray = S[2](wgStructWithAtomicMember, 140 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... 141error: 72: construction of struct type 'NestedS' with atomic member is not allowed 142 wgNestedStructWithAtomicMember = NestedS(wgStructWithAtomicMember); 143 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 14447 errors 145