1e5c31af7Sopenharmony_ci 2e5c31af7Sopenharmony_cicase empty_condition 3e5c31af7Sopenharmony_ci version 300 es 4e5c31af7Sopenharmony_ci expect compile_fail 5e5c31af7Sopenharmony_ci both "" 6e5c31af7Sopenharmony_ci #version 300 es 7e5c31af7Sopenharmony_ci precision mediump float; 8e5c31af7Sopenharmony_ci ${DECLARATIONS} 9e5c31af7Sopenharmony_ci 10e5c31af7Sopenharmony_ci void main () 11e5c31af7Sopenharmony_ci { 12e5c31af7Sopenharmony_ci switch () 13e5c31af7Sopenharmony_ci { 14e5c31af7Sopenharmony_ci case 1: 15e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 16e5c31af7Sopenharmony_ci } 17e5c31af7Sopenharmony_ci 18e5c31af7Sopenharmony_ci ${OUTPUT} 19e5c31af7Sopenharmony_ci } 20e5c31af7Sopenharmony_ci "" 21e5c31af7Sopenharmony_ciend 22e5c31af7Sopenharmony_ci 23e5c31af7Sopenharmony_cicase condition_float 24e5c31af7Sopenharmony_ci version 300 es 25e5c31af7Sopenharmony_ci expect compile_fail 26e5c31af7Sopenharmony_ci both "" 27e5c31af7Sopenharmony_ci #version 300 es 28e5c31af7Sopenharmony_ci precision mediump float; 29e5c31af7Sopenharmony_ci ${DECLARATIONS} 30e5c31af7Sopenharmony_ci 31e5c31af7Sopenharmony_ci void main () 32e5c31af7Sopenharmony_ci { 33e5c31af7Sopenharmony_ci float c = 1.0; 34e5c31af7Sopenharmony_ci switch (c) 35e5c31af7Sopenharmony_ci { 36e5c31af7Sopenharmony_ci case 1: 37e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 38e5c31af7Sopenharmony_ci } 39e5c31af7Sopenharmony_ci 40e5c31af7Sopenharmony_ci ${OUTPUT} 41e5c31af7Sopenharmony_ci } 42e5c31af7Sopenharmony_ci "" 43e5c31af7Sopenharmony_ciend 44e5c31af7Sopenharmony_ci 45e5c31af7Sopenharmony_cicase condition_bool 46e5c31af7Sopenharmony_ci version 300 es 47e5c31af7Sopenharmony_ci expect compile_fail 48e5c31af7Sopenharmony_ci both "" 49e5c31af7Sopenharmony_ci #version 300 es 50e5c31af7Sopenharmony_ci precision mediump float; 51e5c31af7Sopenharmony_ci ${DECLARATIONS} 52e5c31af7Sopenharmony_ci 53e5c31af7Sopenharmony_ci void main () 54e5c31af7Sopenharmony_ci { 55e5c31af7Sopenharmony_ci bool c = true; 56e5c31af7Sopenharmony_ci switch (c) 57e5c31af7Sopenharmony_ci { 58e5c31af7Sopenharmony_ci case 1: 59e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 60e5c31af7Sopenharmony_ci } 61e5c31af7Sopenharmony_ci 62e5c31af7Sopenharmony_ci ${OUTPUT} 63e5c31af7Sopenharmony_ci } 64e5c31af7Sopenharmony_ci "" 65e5c31af7Sopenharmony_ciend 66e5c31af7Sopenharmony_ci 67e5c31af7Sopenharmony_cicase condition_ivec2 68e5c31af7Sopenharmony_ci version 300 es 69e5c31af7Sopenharmony_ci expect compile_fail 70e5c31af7Sopenharmony_ci both "" 71e5c31af7Sopenharmony_ci #version 300 es 72e5c31af7Sopenharmony_ci precision mediump float; 73e5c31af7Sopenharmony_ci ${DECLARATIONS} 74e5c31af7Sopenharmony_ci 75e5c31af7Sopenharmony_ci void main () 76e5c31af7Sopenharmony_ci { 77e5c31af7Sopenharmony_ci ivec2 c = ivec2(1, 1); 78e5c31af7Sopenharmony_ci switch (c) 79e5c31af7Sopenharmony_ci { 80e5c31af7Sopenharmony_ci case 1: 81e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 82e5c31af7Sopenharmony_ci } 83e5c31af7Sopenharmony_ci 84e5c31af7Sopenharmony_ci ${OUTPUT} 85e5c31af7Sopenharmony_ci } 86e5c31af7Sopenharmony_ci "" 87e5c31af7Sopenharmony_ciend 88e5c31af7Sopenharmony_ci 89e5c31af7Sopenharmony_cicase condition_struct 90e5c31af7Sopenharmony_ci version 300 es 91e5c31af7Sopenharmony_ci expect compile_fail 92e5c31af7Sopenharmony_ci both "" 93e5c31af7Sopenharmony_ci #version 300 es 94e5c31af7Sopenharmony_ci precision mediump float; 95e5c31af7Sopenharmony_ci ${DECLARATIONS} 96e5c31af7Sopenharmony_ci 97e5c31af7Sopenharmony_ci struct S { int m; }; 98e5c31af7Sopenharmony_ci 99e5c31af7Sopenharmony_ci void main () 100e5c31af7Sopenharmony_ci { 101e5c31af7Sopenharmony_ci S c = S(1); 102e5c31af7Sopenharmony_ci switch (c) 103e5c31af7Sopenharmony_ci { 104e5c31af7Sopenharmony_ci case 1: 105e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 106e5c31af7Sopenharmony_ci } 107e5c31af7Sopenharmony_ci 108e5c31af7Sopenharmony_ci ${OUTPUT} 109e5c31af7Sopenharmony_ci } 110e5c31af7Sopenharmony_ci "" 111e5c31af7Sopenharmony_ciend 112e5c31af7Sopenharmony_ci 113e5c31af7Sopenharmony_cicase duplicate_label 114e5c31af7Sopenharmony_ci version 300 es 115e5c31af7Sopenharmony_ci expect compile_fail 116e5c31af7Sopenharmony_ci both "" 117e5c31af7Sopenharmony_ci #version 300 es 118e5c31af7Sopenharmony_ci precision mediump float; 119e5c31af7Sopenharmony_ci ${DECLARATIONS} 120e5c31af7Sopenharmony_ci 121e5c31af7Sopenharmony_ci void main () 122e5c31af7Sopenharmony_ci { 123e5c31af7Sopenharmony_ci int c = 1; 124e5c31af7Sopenharmony_ci switch (c) 125e5c31af7Sopenharmony_ci { 126e5c31af7Sopenharmony_ci case 1: 127e5c31af7Sopenharmony_ci case 1: 128e5c31af7Sopenharmony_ci break; 129e5c31af7Sopenharmony_ci } 130e5c31af7Sopenharmony_ci 131e5c31af7Sopenharmony_ci ${OUTPUT} 132e5c31af7Sopenharmony_ci } 133e5c31af7Sopenharmony_ci "" 134e5c31af7Sopenharmony_ciend 135e5c31af7Sopenharmony_ci 136e5c31af7Sopenharmony_cicase float_label 137e5c31af7Sopenharmony_ci version 300 es 138e5c31af7Sopenharmony_ci expect compile_fail 139e5c31af7Sopenharmony_ci both "" 140e5c31af7Sopenharmony_ci #version 300 es 141e5c31af7Sopenharmony_ci precision mediump float; 142e5c31af7Sopenharmony_ci ${DECLARATIONS} 143e5c31af7Sopenharmony_ci 144e5c31af7Sopenharmony_ci void main () 145e5c31af7Sopenharmony_ci { 146e5c31af7Sopenharmony_ci int c = 1; 147e5c31af7Sopenharmony_ci switch (c) 148e5c31af7Sopenharmony_ci { 149e5c31af7Sopenharmony_ci case 1.0: 150e5c31af7Sopenharmony_ci break; 151e5c31af7Sopenharmony_ci } 152e5c31af7Sopenharmony_ci 153e5c31af7Sopenharmony_ci ${OUTPUT} 154e5c31af7Sopenharmony_ci } 155e5c31af7Sopenharmony_ci "" 156e5c31af7Sopenharmony_ciend 157e5c31af7Sopenharmony_ci 158e5c31af7Sopenharmony_cicase non_const_int_label 159e5c31af7Sopenharmony_ci version 300 es 160e5c31af7Sopenharmony_ci expect compile_fail 161e5c31af7Sopenharmony_ci both "" 162e5c31af7Sopenharmony_ci #version 300 es 163e5c31af7Sopenharmony_ci precision mediump float; 164e5c31af7Sopenharmony_ci ${DECLARATIONS} 165e5c31af7Sopenharmony_ci 166e5c31af7Sopenharmony_ci void main () 167e5c31af7Sopenharmony_ci { 168e5c31af7Sopenharmony_ci int c = 1; 169e5c31af7Sopenharmony_ci int l = 2; 170e5c31af7Sopenharmony_ci switch (c) 171e5c31af7Sopenharmony_ci { 172e5c31af7Sopenharmony_ci case l: 173e5c31af7Sopenharmony_ci break; 174e5c31af7Sopenharmony_ci } 175e5c31af7Sopenharmony_ci 176e5c31af7Sopenharmony_ci ${OUTPUT} 177e5c31af7Sopenharmony_ci } 178e5c31af7Sopenharmony_ci "" 179e5c31af7Sopenharmony_ciend 180e5c31af7Sopenharmony_ci 181e5c31af7Sopenharmony_cicase statement_before_label 182e5c31af7Sopenharmony_ci version 300 es 183e5c31af7Sopenharmony_ci expect compile_fail 184e5c31af7Sopenharmony_ci both "" 185e5c31af7Sopenharmony_ci #version 300 es 186e5c31af7Sopenharmony_ci precision mediump float; 187e5c31af7Sopenharmony_ci ${DECLARATIONS} 188e5c31af7Sopenharmony_ci 189e5c31af7Sopenharmony_ci void main () 190e5c31af7Sopenharmony_ci { 191e5c31af7Sopenharmony_ci switch (1) 192e5c31af7Sopenharmony_ci { 193e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 194e5c31af7Sopenharmony_ci case 1: 195e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(0.0); 196e5c31af7Sopenharmony_ci } 197e5c31af7Sopenharmony_ci 198e5c31af7Sopenharmony_ci ${OUTPUT} 199e5c31af7Sopenharmony_ci } 200e5c31af7Sopenharmony_ci "" 201e5c31af7Sopenharmony_ciend 202e5c31af7Sopenharmony_ci 203e5c31af7Sopenharmony_cicase statement_before_default_label 204e5c31af7Sopenharmony_ci version 300 es 205e5c31af7Sopenharmony_ci expect compile_fail 206e5c31af7Sopenharmony_ci both "" 207e5c31af7Sopenharmony_ci #version 300 es 208e5c31af7Sopenharmony_ci precision mediump float; 209e5c31af7Sopenharmony_ci ${DECLARATIONS} 210e5c31af7Sopenharmony_ci 211e5c31af7Sopenharmony_ci void main () 212e5c31af7Sopenharmony_ci { 213e5c31af7Sopenharmony_ci switch (1) 214e5c31af7Sopenharmony_ci { 215e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 216e5c31af7Sopenharmony_ci default: 217e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(0.0); 218e5c31af7Sopenharmony_ci } 219e5c31af7Sopenharmony_ci 220e5c31af7Sopenharmony_ci ${OUTPUT} 221e5c31af7Sopenharmony_ci } 222e5c31af7Sopenharmony_ci "" 223e5c31af7Sopenharmony_ciend 224e5c31af7Sopenharmony_ci 225e5c31af7Sopenharmony_cicase no_statement_after_label 226e5c31af7Sopenharmony_ci version 300 es 227e5c31af7Sopenharmony_ci expect compile_fail 228e5c31af7Sopenharmony_ci both "" 229e5c31af7Sopenharmony_ci #version 300 es 230e5c31af7Sopenharmony_ci precision mediump float; 231e5c31af7Sopenharmony_ci ${DECLARATIONS} 232e5c31af7Sopenharmony_ci 233e5c31af7Sopenharmony_ci void main () 234e5c31af7Sopenharmony_ci { 235e5c31af7Sopenharmony_ci switch (1) 236e5c31af7Sopenharmony_ci { 237e5c31af7Sopenharmony_ci case 0: 238e5c31af7Sopenharmony_ci break; 239e5c31af7Sopenharmony_ci case 1: 240e5c31af7Sopenharmony_ci } 241e5c31af7Sopenharmony_ci 242e5c31af7Sopenharmony_ci ${OUTPUT} 243e5c31af7Sopenharmony_ci } 244e5c31af7Sopenharmony_ci "" 245e5c31af7Sopenharmony_ciend 246e5c31af7Sopenharmony_ci 247e5c31af7Sopenharmony_cicase no_statement_after_default_label 248e5c31af7Sopenharmony_ci version 300 es 249e5c31af7Sopenharmony_ci expect compile_fail 250e5c31af7Sopenharmony_ci both "" 251e5c31af7Sopenharmony_ci #version 300 es 252e5c31af7Sopenharmony_ci precision mediump float; 253e5c31af7Sopenharmony_ci ${DECLARATIONS} 254e5c31af7Sopenharmony_ci 255e5c31af7Sopenharmony_ci void main () 256e5c31af7Sopenharmony_ci { 257e5c31af7Sopenharmony_ci switch (1) 258e5c31af7Sopenharmony_ci { 259e5c31af7Sopenharmony_ci case 0: 260e5c31af7Sopenharmony_ci break; 261e5c31af7Sopenharmony_ci default: 262e5c31af7Sopenharmony_ci } 263e5c31af7Sopenharmony_ci 264e5c31af7Sopenharmony_ci ${OUTPUT} 265e5c31af7Sopenharmony_ci } 266e5c31af7Sopenharmony_ci "" 267e5c31af7Sopenharmony_ciend 268e5c31af7Sopenharmony_ci 269e5c31af7Sopenharmony_cicase case_in_if 270e5c31af7Sopenharmony_ci version 300 es 271e5c31af7Sopenharmony_ci expect compile_fail 272e5c31af7Sopenharmony_ci both "" 273e5c31af7Sopenharmony_ci #version 300 es 274e5c31af7Sopenharmony_ci precision mediump float; 275e5c31af7Sopenharmony_ci ${DECLARATIONS} 276e5c31af7Sopenharmony_ci 277e5c31af7Sopenharmony_ci void main () 278e5c31af7Sopenharmony_ci { 279e5c31af7Sopenharmony_ci float f = 1.0; 280e5c31af7Sopenharmony_ci switch (1) 281e5c31af7Sopenharmony_ci { 282e5c31af7Sopenharmony_ci case 0: 283e5c31af7Sopenharmony_ci f = 0.0; 284e5c31af7Sopenharmony_ci if (f > 0.0) 285e5c31af7Sopenharmony_ci { 286e5c31af7Sopenharmony_ci case 1: 287e5c31af7Sopenharmony_ci f *= 2.0; 288e5c31af7Sopenharmony_ci } 289e5c31af7Sopenharmony_ci break; 290e5c31af7Sopenharmony_ci case 2: 291e5c31af7Sopenharmony_ci break; 292e5c31af7Sopenharmony_ci } 293e5c31af7Sopenharmony_ci 294e5c31af7Sopenharmony_ci ${OUTPUT} 295e5c31af7Sopenharmony_ci } 296e5c31af7Sopenharmony_ci "" 297e5c31af7Sopenharmony_ciend 298e5c31af7Sopenharmony_ci 299e5c31af7Sopenharmony_cicase default_in_if 300e5c31af7Sopenharmony_ci version 300 es 301e5c31af7Sopenharmony_ci expect compile_fail 302e5c31af7Sopenharmony_ci both "" 303e5c31af7Sopenharmony_ci #version 300 es 304e5c31af7Sopenharmony_ci precision mediump float; 305e5c31af7Sopenharmony_ci ${DECLARATIONS} 306e5c31af7Sopenharmony_ci 307e5c31af7Sopenharmony_ci void main () 308e5c31af7Sopenharmony_ci { 309e5c31af7Sopenharmony_ci float f = 1.0; 310e5c31af7Sopenharmony_ci switch (1) 311e5c31af7Sopenharmony_ci { 312e5c31af7Sopenharmony_ci case 0: 313e5c31af7Sopenharmony_ci f = 0.0; 314e5c31af7Sopenharmony_ci if (f > 0.0) 315e5c31af7Sopenharmony_ci { 316e5c31af7Sopenharmony_ci default: 317e5c31af7Sopenharmony_ci f *= 2.0; 318e5c31af7Sopenharmony_ci } 319e5c31af7Sopenharmony_ci break; 320e5c31af7Sopenharmony_ci case 2: 321e5c31af7Sopenharmony_ci break; 322e5c31af7Sopenharmony_ci } 323e5c31af7Sopenharmony_ci 324e5c31af7Sopenharmony_ci ${OUTPUT} 325e5c31af7Sopenharmony_ci } 326e5c31af7Sopenharmony_ci "" 327e5c31af7Sopenharmony_ciend 328e5c31af7Sopenharmony_ci 329e5c31af7Sopenharmony_cicase case_in_for_loop 330e5c31af7Sopenharmony_ci version 300 es 331e5c31af7Sopenharmony_ci expect compile_fail 332e5c31af7Sopenharmony_ci both "" 333e5c31af7Sopenharmony_ci #version 300 es 334e5c31af7Sopenharmony_ci precision mediump float; 335e5c31af7Sopenharmony_ci ${DECLARATIONS} 336e5c31af7Sopenharmony_ci 337e5c31af7Sopenharmony_ci void main () 338e5c31af7Sopenharmony_ci { 339e5c31af7Sopenharmony_ci float f = 1.0; 340e5c31af7Sopenharmony_ci switch (1) 341e5c31af7Sopenharmony_ci { 342e5c31af7Sopenharmony_ci case 0: 343e5c31af7Sopenharmony_ci f = 0.0; 344e5c31af7Sopenharmony_ci for (int i = 0; i < 2; i++) 345e5c31af7Sopenharmony_ci { 346e5c31af7Sopenharmony_ci case 1: 347e5c31af7Sopenharmony_ci f *= 2.0; 348e5c31af7Sopenharmony_ci } 349e5c31af7Sopenharmony_ci break; 350e5c31af7Sopenharmony_ci case 2: 351e5c31af7Sopenharmony_ci break; 352e5c31af7Sopenharmony_ci } 353e5c31af7Sopenharmony_ci 354e5c31af7Sopenharmony_ci ${OUTPUT} 355e5c31af7Sopenharmony_ci } 356e5c31af7Sopenharmony_ci "" 357e5c31af7Sopenharmony_ciend 358e5c31af7Sopenharmony_ci 359e5c31af7Sopenharmony_cicase default_in_for_loop 360e5c31af7Sopenharmony_ci version 300 es 361e5c31af7Sopenharmony_ci expect compile_fail 362e5c31af7Sopenharmony_ci both "" 363e5c31af7Sopenharmony_ci #version 300 es 364e5c31af7Sopenharmony_ci precision mediump float; 365e5c31af7Sopenharmony_ci ${DECLARATIONS} 366e5c31af7Sopenharmony_ci 367e5c31af7Sopenharmony_ci void main () 368e5c31af7Sopenharmony_ci { 369e5c31af7Sopenharmony_ci float f = 1.0; 370e5c31af7Sopenharmony_ci switch (1) 371e5c31af7Sopenharmony_ci { 372e5c31af7Sopenharmony_ci case 0: 373e5c31af7Sopenharmony_ci f = 0.0; 374e5c31af7Sopenharmony_ci for (int i = 0; i < 2; i++) 375e5c31af7Sopenharmony_ci { 376e5c31af7Sopenharmony_ci default: 377e5c31af7Sopenharmony_ci f *= 2.0; 378e5c31af7Sopenharmony_ci } 379e5c31af7Sopenharmony_ci break; 380e5c31af7Sopenharmony_ci case 2: 381e5c31af7Sopenharmony_ci break; 382e5c31af7Sopenharmony_ci } 383e5c31af7Sopenharmony_ci 384e5c31af7Sopenharmony_ci ${OUTPUT} 385e5c31af7Sopenharmony_ci } 386e5c31af7Sopenharmony_ci "" 387e5c31af7Sopenharmony_ciend 388e5c31af7Sopenharmony_ci 389e5c31af7Sopenharmony_cicase case_in_while_loop 390e5c31af7Sopenharmony_ci version 300 es 391e5c31af7Sopenharmony_ci expect compile_fail 392e5c31af7Sopenharmony_ci both "" 393e5c31af7Sopenharmony_ci #version 300 es 394e5c31af7Sopenharmony_ci precision mediump float; 395e5c31af7Sopenharmony_ci ${DECLARATIONS} 396e5c31af7Sopenharmony_ci 397e5c31af7Sopenharmony_ci void main () 398e5c31af7Sopenharmony_ci { 399e5c31af7Sopenharmony_ci float f = 1.0; 400e5c31af7Sopenharmony_ci switch (1) 401e5c31af7Sopenharmony_ci { 402e5c31af7Sopenharmony_ci case 0: 403e5c31af7Sopenharmony_ci f = 0.0; 404e5c31af7Sopenharmony_ci while (f > 0.0) 405e5c31af7Sopenharmony_ci { 406e5c31af7Sopenharmony_ci case 1: 407e5c31af7Sopenharmony_ci f *= 2.0; 408e5c31af7Sopenharmony_ci } 409e5c31af7Sopenharmony_ci break; 410e5c31af7Sopenharmony_ci case 2: 411e5c31af7Sopenharmony_ci break; 412e5c31af7Sopenharmony_ci } 413e5c31af7Sopenharmony_ci 414e5c31af7Sopenharmony_ci ${OUTPUT} 415e5c31af7Sopenharmony_ci } 416e5c31af7Sopenharmony_ci "" 417e5c31af7Sopenharmony_ciend 418e5c31af7Sopenharmony_ci 419e5c31af7Sopenharmony_cicase default_in_while_loop 420e5c31af7Sopenharmony_ci version 300 es 421e5c31af7Sopenharmony_ci expect compile_fail 422e5c31af7Sopenharmony_ci both "" 423e5c31af7Sopenharmony_ci #version 300 es 424e5c31af7Sopenharmony_ci precision mediump float; 425e5c31af7Sopenharmony_ci ${DECLARATIONS} 426e5c31af7Sopenharmony_ci 427e5c31af7Sopenharmony_ci void main () 428e5c31af7Sopenharmony_ci { 429e5c31af7Sopenharmony_ci float f = 1.0; 430e5c31af7Sopenharmony_ci switch (1) 431e5c31af7Sopenharmony_ci { 432e5c31af7Sopenharmony_ci case 0: 433e5c31af7Sopenharmony_ci f = 0.0; 434e5c31af7Sopenharmony_ci while (f > 0.0) 435e5c31af7Sopenharmony_ci { 436e5c31af7Sopenharmony_ci default: 437e5c31af7Sopenharmony_ci f *= 2.0; 438e5c31af7Sopenharmony_ci } 439e5c31af7Sopenharmony_ci break; 440e5c31af7Sopenharmony_ci case 2: 441e5c31af7Sopenharmony_ci break; 442e5c31af7Sopenharmony_ci } 443e5c31af7Sopenharmony_ci 444e5c31af7Sopenharmony_ci ${OUTPUT} 445e5c31af7Sopenharmony_ci } 446e5c31af7Sopenharmony_ci "" 447e5c31af7Sopenharmony_ciend 448e5c31af7Sopenharmony_ci 449e5c31af7Sopenharmony_cicase case_in_do_while_loop 450e5c31af7Sopenharmony_ci version 300 es 451e5c31af7Sopenharmony_ci expect compile_fail 452e5c31af7Sopenharmony_ci both "" 453e5c31af7Sopenharmony_ci #version 300 es 454e5c31af7Sopenharmony_ci precision mediump float; 455e5c31af7Sopenharmony_ci ${DECLARATIONS} 456e5c31af7Sopenharmony_ci 457e5c31af7Sopenharmony_ci void main () 458e5c31af7Sopenharmony_ci { 459e5c31af7Sopenharmony_ci float f = 1.0; 460e5c31af7Sopenharmony_ci switch (1) 461e5c31af7Sopenharmony_ci { 462e5c31af7Sopenharmony_ci case 0: 463e5c31af7Sopenharmony_ci f = 0.0; 464e5c31af7Sopenharmony_ci do 465e5c31af7Sopenharmony_ci { 466e5c31af7Sopenharmony_ci case 1: 467e5c31af7Sopenharmony_ci f *= 2.0; 468e5c31af7Sopenharmony_ci } while (f > 0.0); 469e5c31af7Sopenharmony_ci break; 470e5c31af7Sopenharmony_ci case 2: 471e5c31af7Sopenharmony_ci break; 472e5c31af7Sopenharmony_ci } 473e5c31af7Sopenharmony_ci 474e5c31af7Sopenharmony_ci ${OUTPUT} 475e5c31af7Sopenharmony_ci } 476e5c31af7Sopenharmony_ci "" 477e5c31af7Sopenharmony_ciend 478e5c31af7Sopenharmony_ci 479e5c31af7Sopenharmony_cicase default_in_do_while_loop 480e5c31af7Sopenharmony_ci version 300 es 481e5c31af7Sopenharmony_ci expect compile_fail 482e5c31af7Sopenharmony_ci both "" 483e5c31af7Sopenharmony_ci #version 300 es 484e5c31af7Sopenharmony_ci precision mediump float; 485e5c31af7Sopenharmony_ci ${DECLARATIONS} 486e5c31af7Sopenharmony_ci 487e5c31af7Sopenharmony_ci void main () 488e5c31af7Sopenharmony_ci { 489e5c31af7Sopenharmony_ci float f = 1.0; 490e5c31af7Sopenharmony_ci switch (1) 491e5c31af7Sopenharmony_ci { 492e5c31af7Sopenharmony_ci case 0: 493e5c31af7Sopenharmony_ci f = 0.0; 494e5c31af7Sopenharmony_ci do 495e5c31af7Sopenharmony_ci { 496e5c31af7Sopenharmony_ci default: 497e5c31af7Sopenharmony_ci f *= 2.0; 498e5c31af7Sopenharmony_ci } while (f > 0.0); 499e5c31af7Sopenharmony_ci break; 500e5c31af7Sopenharmony_ci case 2: 501e5c31af7Sopenharmony_ci break; 502e5c31af7Sopenharmony_ci } 503e5c31af7Sopenharmony_ci 504e5c31af7Sopenharmony_ci ${OUTPUT} 505e5c31af7Sopenharmony_ci } 506e5c31af7Sopenharmony_ci "" 507e5c31af7Sopenharmony_ciend 508e5c31af7Sopenharmony_ci 509e5c31af7Sopenharmony_cicase missing_colon 510e5c31af7Sopenharmony_ci version 300 es 511e5c31af7Sopenharmony_ci expect compile_fail 512e5c31af7Sopenharmony_ci both "" 513e5c31af7Sopenharmony_ci #version 300 es 514e5c31af7Sopenharmony_ci precision mediump float; 515e5c31af7Sopenharmony_ci ${DECLARATIONS} 516e5c31af7Sopenharmony_ci 517e5c31af7Sopenharmony_ci void main () 518e5c31af7Sopenharmony_ci { 519e5c31af7Sopenharmony_ci switch (1) 520e5c31af7Sopenharmony_ci { 521e5c31af7Sopenharmony_ci case 1 522e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 523e5c31af7Sopenharmony_ci } 524e5c31af7Sopenharmony_ci 525e5c31af7Sopenharmony_ci ${OUTPUT} 526e5c31af7Sopenharmony_ci } 527e5c31af7Sopenharmony_ci "" 528e5c31af7Sopenharmony_ciend 529e5c31af7Sopenharmony_ci 530e5c31af7Sopenharmony_cicase missing_opening_brace 531e5c31af7Sopenharmony_ci version 300 es 532e5c31af7Sopenharmony_ci expect compile_fail 533e5c31af7Sopenharmony_ci both "" 534e5c31af7Sopenharmony_ci #version 300 es 535e5c31af7Sopenharmony_ci precision mediump float; 536e5c31af7Sopenharmony_ci ${DECLARATIONS} 537e5c31af7Sopenharmony_ci 538e5c31af7Sopenharmony_ci void main () 539e5c31af7Sopenharmony_ci { 540e5c31af7Sopenharmony_ci switch (1) 541e5c31af7Sopenharmony_ci case 1: 542e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 543e5c31af7Sopenharmony_ci } 544e5c31af7Sopenharmony_ci 545e5c31af7Sopenharmony_ci ${OUTPUT} 546e5c31af7Sopenharmony_ci } 547e5c31af7Sopenharmony_ci "" 548e5c31af7Sopenharmony_ciend 549e5c31af7Sopenharmony_ci 550e5c31af7Sopenharmony_cicase missing_closing_brace 551e5c31af7Sopenharmony_ci version 300 es 552e5c31af7Sopenharmony_ci expect compile_fail 553e5c31af7Sopenharmony_ci both "" 554e5c31af7Sopenharmony_ci #version 300 es 555e5c31af7Sopenharmony_ci precision mediump float; 556e5c31af7Sopenharmony_ci ${DECLARATIONS} 557e5c31af7Sopenharmony_ci 558e5c31af7Sopenharmony_ci void main () 559e5c31af7Sopenharmony_ci { 560e5c31af7Sopenharmony_ci switch (1) 561e5c31af7Sopenharmony_ci { 562e5c31af7Sopenharmony_ci case 1: 563e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 564e5c31af7Sopenharmony_ci 565e5c31af7Sopenharmony_ci ${OUTPUT} 566e5c31af7Sopenharmony_ci } 567e5c31af7Sopenharmony_ci "" 568e5c31af7Sopenharmony_ciend 569e5c31af7Sopenharmony_ci 570e5c31af7Sopenharmony_cicase double_case 571e5c31af7Sopenharmony_ci version 300 es 572e5c31af7Sopenharmony_ci expect compile_fail 573e5c31af7Sopenharmony_ci both "" 574e5c31af7Sopenharmony_ci #version 300 es 575e5c31af7Sopenharmony_ci precision mediump float; 576e5c31af7Sopenharmony_ci ${DECLARATIONS} 577e5c31af7Sopenharmony_ci 578e5c31af7Sopenharmony_ci void main () 579e5c31af7Sopenharmony_ci { 580e5c31af7Sopenharmony_ci switch (1) 581e5c31af7Sopenharmony_ci { 582e5c31af7Sopenharmony_ci case case 1: 583e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 584e5c31af7Sopenharmony_ci } 585e5c31af7Sopenharmony_ci 586e5c31af7Sopenharmony_ci ${OUTPUT} 587e5c31af7Sopenharmony_ci } 588e5c31af7Sopenharmony_ci "" 589e5c31af7Sopenharmony_ciend 590e5c31af7Sopenharmony_ci 591e5c31af7Sopenharmony_cicase double_default_1 592e5c31af7Sopenharmony_ci version 300 es 593e5c31af7Sopenharmony_ci expect compile_fail 594e5c31af7Sopenharmony_ci both "" 595e5c31af7Sopenharmony_ci #version 300 es 596e5c31af7Sopenharmony_ci precision mediump float; 597e5c31af7Sopenharmony_ci ${DECLARATIONS} 598e5c31af7Sopenharmony_ci 599e5c31af7Sopenharmony_ci void main () 600e5c31af7Sopenharmony_ci { 601e5c31af7Sopenharmony_ci switch (1) 602e5c31af7Sopenharmony_ci { 603e5c31af7Sopenharmony_ci default: 604e5c31af7Sopenharmony_ci break; 605e5c31af7Sopenharmony_ci default: 606e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 607e5c31af7Sopenharmony_ci } 608e5c31af7Sopenharmony_ci 609e5c31af7Sopenharmony_ci ${OUTPUT} 610e5c31af7Sopenharmony_ci } 611e5c31af7Sopenharmony_ci "" 612e5c31af7Sopenharmony_ciend 613e5c31af7Sopenharmony_ci 614e5c31af7Sopenharmony_cicase double_default_2 615e5c31af7Sopenharmony_ci version 300 es 616e5c31af7Sopenharmony_ci expect compile_fail 617e5c31af7Sopenharmony_ci both "" 618e5c31af7Sopenharmony_ci #version 300 es 619e5c31af7Sopenharmony_ci precision mediump float; 620e5c31af7Sopenharmony_ci ${DECLARATIONS} 621e5c31af7Sopenharmony_ci 622e5c31af7Sopenharmony_ci void main () 623e5c31af7Sopenharmony_ci { 624e5c31af7Sopenharmony_ci switch (1) 625e5c31af7Sopenharmony_ci { 626e5c31af7Sopenharmony_ci default default: 627e5c31af7Sopenharmony_ci ${POSITION_FRAG_COLOR} = vec4(1.0); 628e5c31af7Sopenharmony_ci } 629e5c31af7Sopenharmony_ci 630e5c31af7Sopenharmony_ci ${OUTPUT} 631e5c31af7Sopenharmony_ci } 632e5c31af7Sopenharmony_ci "" 633e5c31af7Sopenharmony_ciend 634