skia2/resources/sksl/runtime_errors/LoopStructureErrors.rts

26 lines
1.3 KiB
Plaintext
Raw Normal View History

// Expect 15 errors
void loop_length_128() { for (int i = 0; i < 128; i++) {} } // OK, under kLoopTerminationLimit
void loop_length_129() { for (int i = 0; i < 129; i++) {} } // OK, under kLoopTerminationLimit
void loop_length_99999() { for (int i = 0; i < 99999; i++) {} } // OK, under kLoopTerminationLimit
void loop_length_100000() { for (int i = 0; i < 100000; i++) {} }
void infinite_loop1() { for (int i = 0; i < 1; i += 0) {} }
void infinite_loop2() { for (int i = 3; i >= 3; i += 0) {} }
void infinite_loop3() { for (float i = 3; i >= 3; i += 1e-20) {} }
void set(out int x) { x = 1; }
void inc(inout int x) { x++; }
void index_modified() { for (int i = 0; i < 2; i++) { i++; } }
void index_out_param() { for (int i = 0; i < 1; i++) { set(i); } }
void index_inout_param() { for (int i = 0; i < 1; i++) { inc(i); } }
void infinite_loop_le() { for (int i = 0; i <= 3; --i) {} }
void infinite_loop_lt() { for (int i = 0; i < 4; --i) {} }
void infinite_loop_ge() { for (int i = 3; i >= 0; ++i) {} }
void infinite_loop_gt() { for (int i = 3; i > -1; ++i) {} }
void infinite_loop_eq1() { for (int i = 0; i == 0; i-=0) {} }
void infinite_loop_eq2() { for (int i = 1; i == 1; i+=0) {} }
void infinite_loop_ne1() { for (int i = 0; i != 4; i--) {} }
void infinite_loop_ne2() { for (int i = 0; i != 4; i+=3) {} }