summaryrefslogtreecommitdiff
path: root/tests/diagnostics/syntax-error-op-line-2.slang
blob: 994e875a19b8c6bf21b691b3dc5b970e00973abf (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
25
26
27
28
29
30
31
32
33
// syntax-error-op-line-2.slang

// NOTE! That although this is a 'diagnostic' like test, it tests using downstream compiler
// the downstream compiler being present is a requirement, so we mark as a 'TEST' so that 
// those tests are made.

//TEST:SIMPLE_LINE:-entry computeMain -target spirv 
//TEST:SIMPLE_LINE:-entry computeMain -target dxil -profile cs_6_0 
//TEST:SIMPLE_LINE:-entry computeMain -target dxbc 
//TEST:SIMPLE_LINE:-entry computeMain -target dll 
//TEST:SIMPLE_LINE:-entry computeMain -target ptx 

// Here the thing being checked is error reporting around return, and += 

int doSomething(int a)
{
    a += a;
    
    return a 
    += 
    __SyntaxError();
}

[shader("compute")]
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
    int id = int(dispatchThreadID.x);
    
    int v = int(dispatchThreadID.y);
    
    v += doSomething(id);
}