yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
8b05df418
master
1//DIAGNOSTIC_TEST:SIMPLE: 2 3 4float doSomething(int x) 5{ 6 for (int i = 0; i < x; i--) // warn. 7 {} 8 for (int i = 0; i < 5; i-=-2) // ok. 9 {} 10 for (int j = 0; j < 3; j += 0) // warn. 11 {} 12 for (int i = 0; i < 5; i++) // ok 13 { 14 for (int j = 0; j < 3; i++) // warn. 15 {} 16 } 17 for (int i = 0; i < 5; i++) // ok 18 { 19 for (int j = 0; i < 4; j++) // warn. 20 {} 21 } 22 23 [MaxIters(6)] // warn 24 for (int i = 0; i <= 6; i+=3) 25 { 26 } 27 28 [MaxIters(6)] // warn 29 for (int i = 5; i >= 0; i -= 3) 30 { 31 } 32 [MaxIters(6)] // warn 33 for (int i = 5; i > 0; i--) 34 { 35 } 36 37 [MaxIters(5)] // ok 38 for (int i = 0; i < 5; i++) // ok 39 { 40 } 41 42 for (int i = 1; i < 0; i++) // warn 43 { 44 } 45 for (int i = 1; i >= 2; i--) // warn 46 { 47 } 48 for (int i = 1; i >= 1; i--) // ok 49 { 50 } 51 for (int i = 1; i > 1; i--) // warn 52 { 53 } 54 [MaxIters(5)] // ok, because the loop body modifies i so we can't infer the iterations. 55 for (int i = 0; i < 5; i+=2) 56 { 57 i--; 58 } 59 return 0.0; 60}