1cb93a386Sopenharmony_cistruct S  {
2cb93a386Sopenharmony_ci    float f;
3cb93a386Sopenharmony_ci};
4cb93a386Sopenharmony_ci
5cb93a386Sopenharmony_ciuniform int u;
6cb93a386Sopenharmony_ci
7cb93a386Sopenharmony_civoid assign_to_literal()                      { 1 = 2; }
8cb93a386Sopenharmony_civoid assign_to_uniform()                      { u = 0; }
9cb93a386Sopenharmony_civoid assign_to_const()                        { const int x = 1; x = 0; }
10cb93a386Sopenharmony_ci
11cb93a386Sopenharmony_civoid assign_to_const_swizzle()                { const half4 x = half4(1); x.w = 0; }
12cb93a386Sopenharmony_civoid assign_to_repeated_swizzle()             { half4 x; x.yy = half2(0); }
13cb93a386Sopenharmony_ci
14cb93a386Sopenharmony_civoid assign_to_foldable_ternary_const_left()  { const float l = 1; float r; (true ? l : r) = 0; }
15cb93a386Sopenharmony_civoid assign_to_foldable_ternary_const_right() { float l; const float r = 1; (false ? l : r) = 0; }
16cb93a386Sopenharmony_civoid assign_to_foldable_ternary_const_both()  { const float l = 1; const float r = 1; (true ? l : r) = 0; }
17cb93a386Sopenharmony_civoid assign_to_unfoldable_ternary()           { float l, r; (u > 0 ? l : r) = 0; }
18cb93a386Sopenharmony_civoid assign_to_unary_minus()                  { float x; -x = 0; }
19cb93a386Sopenharmony_civoid assign_to_unary_plus()                   { float x; +x = 0; }  // TODO(skbug.com/10766)
20cb93a386Sopenharmony_ci
21cb93a386Sopenharmony_civoid assign_to_const_param(const int x)          { x = 0; }
22cb93a386Sopenharmony_civoid assign_to_const_array_param(const int x[1]) { x[0] = 0; }
23cb93a386Sopenharmony_civoid assign_to_const_struct_param(const S s)     { s.f = 0; }
24