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