
This patch updates diagnostics to print fully qualified attribute names, including scope when present.
38 lines
1.4 KiB
HLSL
38 lines
1.4 KiB
HLSL
// RUN: %clang_cc1 -finclude-default-header -triple spirv-pc-vulkan1.3-compute -verify %s
|
|
// RUN: %clang_cc1 -finclude-default-header -triple dxil-pc-shadermodel6.8-compute -verify %s
|
|
|
|
#ifndef __spirv__
|
|
// expected-warning@+2{{'vk::constant_id' attribute ignored}}
|
|
#endif
|
|
[[vk::constant_id(0)]]
|
|
const bool sc0 = true;
|
|
|
|
#ifdef __spirv__
|
|
// expected-error@+2{{variable with 'vk::constant_id' attribute must be a const int/float/enum/bool and be initialized with a literal}}
|
|
[[vk::constant_id(1)]]
|
|
const bool sc1 = sc0; // error
|
|
|
|
// expected-warning@+1{{'vk::constant_id' attribute only applies to external global variables}}
|
|
[[vk::constant_id(2)]]
|
|
static const bool sc2 = false; // error
|
|
|
|
// expected-error@+2{{variable with 'vk::constant_id' attribute must be a const int/float/enum/bool and be initialized with a literal}}
|
|
[[vk::constant_id(3)]]
|
|
const bool sc3; // error
|
|
|
|
// expected-error@+2{{variable with 'vk::constant_id' attribute must be a const int/float/enum/bool and be initialized with a literal}}
|
|
[[vk::constant_id(4)]]
|
|
bool sc4 = false; // error
|
|
|
|
// expected-error@+2{{variable with 'vk::constant_id' attribute must be a const int/float/enum/bool and be initialized with a literal}}
|
|
[[vk::constant_id(5)]]
|
|
const int2 sc5 = {0,0}; // error
|
|
|
|
[numthreads(1,1,1)]
|
|
void main() {
|
|
// expected-warning@+1{{'vk::constant_id' attribute only applies to external global variables}}
|
|
[[vk::constant_id(6)]]
|
|
const bool sc6 = false; // error
|
|
}
|
|
#endif
|