llvm/clang/test/SemaHLSL/WaveSize-invalid-profiles.hlsl

// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.8-pixel -x hlsl %s  -verify
// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.8-vertex -x hlsl %s  -verify
// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.8-geometry -x hlsl %s  -verify
// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.8-hull -x hlsl %s  -verify
// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.8-domain -x hlsl %s  -verify

#if __SHADER_TARGET_STAGE == __SHADER_STAGE_PIXEL
// expected-error@#WaveSize {{attribute 'WaveSize' is unsupported in 'pixel' shaders, requires one of the following: compute, amplification, mesh}}
#elif __SHADER_TARGET_STAGE == __SHADER_STAGE_VERTEX
// expected-error@#WaveSize {{attribute 'WaveSize' is unsupported in 'vertex' shaders, requires one of the following: compute, amplification, mesh}}
#elif __SHADER_TARGET_STAGE == __SHADER_STAGE_GEOMETRY
// expected-error@#WaveSize {{attribute 'WaveSize' is unsupported in 'geometry' shaders, requires one of the following: compute, amplification, mesh}}
#elif __SHADER_TARGET_STAGE == __SHADER_STAGE_HULL
// expected-error@#WaveSize {{attribute 'WaveSize' is unsupported in 'hull' shaders, requires one of the following: compute, amplification, mesh}}
#elif __SHADER_TARGET_STAGE == __SHADER_STAGE_DOMAIN
// expected-error@#WaveSize {{attribute 'WaveSize' is unsupported in 'domain' shaders, requires one of the following: compute, amplification, mesh}}
#endif
[WaveSize(16)] // #WaveSize
void main() {
}