| |
| case empty_condition |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| switch () |
| { |
| case 1: |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case condition_float |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| float c = 1.0; |
| switch (c) |
| { |
| case 1: |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case condition_bool |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| bool c = true; |
| switch (c) |
| { |
| case 1: |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case condition_ivec2 |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| ivec2 c = ivec2(1, 1); |
| switch (c) |
| { |
| case 1: |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case condition_struct |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| struct S { int m; }; |
| |
| void main () |
| { |
| S c = S(1); |
| switch (c) |
| { |
| case 1: |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case duplicate_label |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| int c = 1; |
| switch (c) |
| { |
| case 1: |
| case 1: |
| break; |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case float_label |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| int c = 1; |
| switch (c) |
| { |
| case 1.0: |
| break; |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case non_const_int_label |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| int c = 1; |
| int l = 2; |
| switch (c) |
| { |
| case l: |
| break; |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case statement_before_label |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| switch (1) |
| { |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| case 1: |
| ${POSITION_FRAG_COLOR} = vec4(0.0); |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case statement_before_default_label |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| switch (1) |
| { |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| default: |
| ${POSITION_FRAG_COLOR} = vec4(0.0); |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case no_statement_after_label |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| switch (1) |
| { |
| case 0: |
| break; |
| case 1: |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case no_statement_after_default_label |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| switch (1) |
| { |
| case 0: |
| break; |
| default: |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case case_in_if |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| float f = 1.0; |
| switch (1) |
| { |
| case 0: |
| f = 0.0; |
| if (f > 0.0) |
| { |
| case 1: |
| f *= 2.0; |
| } |
| break; |
| case 2: |
| break; |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case default_in_if |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| float f = 1.0; |
| switch (1) |
| { |
| case 0: |
| f = 0.0; |
| if (f > 0.0) |
| { |
| default: |
| f *= 2.0; |
| } |
| break; |
| case 2: |
| break; |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case case_in_for_loop |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| float f = 1.0; |
| switch (1) |
| { |
| case 0: |
| f = 0.0; |
| for (int i = 0; i < 2; i++) |
| { |
| case 1: |
| f *= 2.0; |
| } |
| break; |
| case 2: |
| break; |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case default_in_for_loop |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| float f = 1.0; |
| switch (1) |
| { |
| case 0: |
| f = 0.0; |
| for (int i = 0; i < 2; i++) |
| { |
| default: |
| f *= 2.0; |
| } |
| break; |
| case 2: |
| break; |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case case_in_while_loop |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| float f = 1.0; |
| switch (1) |
| { |
| case 0: |
| f = 0.0; |
| while (f > 0.0) |
| { |
| case 1: |
| f *= 2.0; |
| } |
| break; |
| case 2: |
| break; |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case default_in_while_loop |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| float f = 1.0; |
| switch (1) |
| { |
| case 0: |
| f = 0.0; |
| while (f > 0.0) |
| { |
| default: |
| f *= 2.0; |
| } |
| break; |
| case 2: |
| break; |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case case_in_do_while_loop |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| float f = 1.0; |
| switch (1) |
| { |
| case 0: |
| f = 0.0; |
| do |
| { |
| case 1: |
| f *= 2.0; |
| } while (f > 0.0); |
| break; |
| case 2: |
| break; |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case default_in_do_while_loop |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| float f = 1.0; |
| switch (1) |
| { |
| case 0: |
| f = 0.0; |
| do |
| { |
| default: |
| f *= 2.0; |
| } while (f > 0.0); |
| break; |
| case 2: |
| break; |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case missing_colon |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| switch (1) |
| { |
| case 1 |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case missing_opening_brace |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| switch (1) |
| case 1: |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case missing_closing_brace |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| switch (1) |
| { |
| case 1: |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case double_case |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| switch (1) |
| { |
| case case 1: |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case double_default_1 |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| switch (1) |
| { |
| default: |
| break; |
| default: |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| case double_default_2 |
| version 300 es |
| expect compile_fail |
| both "" |
| #version 300 es |
| precision mediump float; |
| ${DECLARATIONS} |
| |
| void main () |
| { |
| switch (1) |
| { |
| default default: |
| ${POSITION_FRAG_COLOR} = vec4(1.0); |
| } |
| |
| ${OUTPUT} |
| } |
| "" |
| end |