1*c8dee2aaSAndroid Build Coastguard Workerstruct S { 2*c8dee2aaSAndroid Build Coastguard Worker float f; 3*c8dee2aaSAndroid Build Coastguard Worker}; 4*c8dee2aaSAndroid Build Coastguard Worker 5*c8dee2aaSAndroid Build Coastguard Workerstruct T { 6*c8dee2aaSAndroid Build Coastguard Worker S s; 7*c8dee2aaSAndroid Build Coastguard Worker}; 8*c8dee2aaSAndroid Build Coastguard Worker 9*c8dee2aaSAndroid Build Coastguard Workeruniform int u; 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_literal() { 1 = 2; } 12*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_uniform() { u = 0; } 13*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_const() { const int x = 1; x = 0; } 14*c8dee2aaSAndroid Build Coastguard Worker 15*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_const_swizzle() { const half4 x = half4(1); x.w = 0; } 16*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_repeated_swizzle() { half4 x; x.yy = half2(0); } 17*c8dee2aaSAndroid Build Coastguard Worker 18*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_foldable_ternary_const_left() { const float l = 1; float r; (true ? l : r) = 0; } 19*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_foldable_ternary_const_right() { float l; const float r = 1; (false ? l : r) = 0; } 20*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_foldable_ternary_const_both() { const float l = 1; const float r = 1; (true ? l : r) = 0; } 21*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_unfoldable_ternary() { float l, r; (u > 0 ? l : r) = 0; } 22*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_unary_minus() { float x; -x = 0; } 23*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_unary_plus() { float x; +x = 0; } // TODO(skbug.com/10766) 24*c8dee2aaSAndroid Build Coastguard Worker 25*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_const_param(const int x) { x = 0; } 26*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_const_array_param(const int x[1]) { x[0] = 0; } 27*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_const_struct_param(const S s) { s.f = 0; } 28*c8dee2aaSAndroid Build Coastguard Workervoid assign_to_const_nested_struct_param(const T t) { t.s.f = 0; } 29*c8dee2aaSAndroid Build Coastguard Worker 30*c8dee2aaSAndroid Build Coastguard Worker/*%%* 31*c8dee2aaSAndroid Build Coastguard Workercannot assign to this expression 32*c8dee2aaSAndroid Build Coastguard Workercannot modify immutable variable 'u' 33*c8dee2aaSAndroid Build Coastguard Workercannot modify immutable variable 'x' 34*c8dee2aaSAndroid Build Coastguard Workercannot assign to this expression 35*c8dee2aaSAndroid Build Coastguard Workercannot write to the same swizzle field more than once 36*c8dee2aaSAndroid Build Coastguard Workercannot modify immutable variable 'l' 37*c8dee2aaSAndroid Build Coastguard Workercannot modify immutable variable 'r' 38*c8dee2aaSAndroid Build Coastguard Workercannot modify immutable variable 'l' 39*c8dee2aaSAndroid Build Coastguard Workercannot assign to this expression 40*c8dee2aaSAndroid Build Coastguard Workercannot assign to this expression 41*c8dee2aaSAndroid Build Coastguard Workercannot modify immutable variable 'x' 42*c8dee2aaSAndroid Build Coastguard Workercannot modify immutable variable 'x' 43*c8dee2aaSAndroid Build Coastguard Workercannot modify immutable variable 's.f' 44*c8dee2aaSAndroid Build Coastguard Workercannot modify immutable variable 't.s' 45*c8dee2aaSAndroid Build Coastguard Worker*%%*/ 46