summaryrefslogtreecommitdiffstats
path: root/tests/diagnostics/comma-operator-warning.slang
blob: 945cc792d31ce17c04e2111830dfdc3335275e54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK):

int testCommaOperator()
{
    // This should generate a warning - comma operator in variable initialization
    // CHECK: ([[# @LINE+1]]): warning 41024:
    float4 vColor = (0.f, 0.f, 0.f, 1.f);
    
    // This should NOT generate a warning - comma operator in for-loop side effect
    for (int i = 0; i < 10; i++, vColor.x++)
    {
    }
    
    // This should generate a warning - comma operator in regular expression
    // CHECK: ([[# @LINE+1]]): warning 41024:
    int x = (1, 2, 3);
    
    // This should now generate a warning - comma operator in return statement
    // CHECK: ([[# @LINE+2]]): warning 41024:
    int a = 5;
    return a *= 2, a + 1;
}

void someFunction(int value) {}