1cb93a386Sopenharmony_ci 2cb93a386Sopenharmony_ciout vec4 sk_FragColor; 3cb93a386Sopenharmony_ciuniform vec4 colorGreen; 4cb93a386Sopenharmony_ciuniform vec4 colorRed; 5cb93a386Sopenharmony_ciint glob; 6cb93a386Sopenharmony_cistruct S { 7cb93a386Sopenharmony_ci int i; 8cb93a386Sopenharmony_ci}; 9cb93a386Sopenharmony_cibool block_variable_hides_global_variable_b() { 10cb93a386Sopenharmony_ci return glob == 2; 11cb93a386Sopenharmony_ci} 12cb93a386Sopenharmony_cibool local_variable_hides_struct_b() { 13cb93a386Sopenharmony_ci bool S = true; 14cb93a386Sopenharmony_ci return S; 15cb93a386Sopenharmony_ci} 16cb93a386Sopenharmony_cibool local_struct_variable_hides_struct_type_b() { 17cb93a386Sopenharmony_ci S S = S(1); 18cb93a386Sopenharmony_ci return S.i == 1; 19cb93a386Sopenharmony_ci} 20cb93a386Sopenharmony_cibool local_variable_hides_global_variable_b() { 21cb93a386Sopenharmony_ci int glob = 1; 22cb93a386Sopenharmony_ci return glob == 1; 23cb93a386Sopenharmony_ci} 24cb93a386Sopenharmony_civec4 main() { 25cb93a386Sopenharmony_ci glob = 2; 26cb93a386Sopenharmony_ci bool _0_var = true; 27cb93a386Sopenharmony_ci return (((_0_var && block_variable_hides_global_variable_b()) && local_variable_hides_struct_b()) && local_struct_variable_hides_struct_type_b()) && local_variable_hides_global_variable_b() ? colorGreen : colorRed; 28cb93a386Sopenharmony_ci} 29