| group basic "Name Hiding Tests" |
| |
| case hidden_name_1 |
| version 300 es |
| values { output float out0 = 0.0; } |
| |
| both "" |
| #version 300 es |
| precision mediump float; |
| float S() |
| { |
| struct S { int i; }; |
| S s; |
| s.i = 1; |
| return 0.0; |
| } |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| out0 = S(); |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case hidden_name_2 |
| version 300 es |
| values { output float out0 = 3.0; } |
| |
| both "" |
| #version 300 es |
| precision mediump float; |
| struct S { int i; }; |
| S s1; |
| float fun() |
| { |
| struct S { float f; }; |
| S s2; |
| s2.f = 2.0; |
| return s2.f; |
| } |
| S s3; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| s1.i = 1; |
| s3.i = 3; |
| out0 = float(s1.i) + fun(); |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case hidden_name_3 |
| version 300 es |
| expect compile_fail |
| |
| both "" |
| #version 300 es |
| precision mediump float; |
| struct S { int i; }; |
| struct S { float f; }; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| end # operator_precedence |
| |