75 lines
1.5 KiB
HLSL
75 lines
1.5 KiB
HLSL
// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -x hlsl -o - -fsyntax-only %s -verify
|
|
|
|
// expected-error@+2 {{expected identifier}}
|
|
// expected-error@+1 {{expected unqualified-id}}
|
|
cbuffer { ... };
|
|
// expected-error@+1 {{expected '{'}}
|
|
cbuffer missing_definition;
|
|
// expected-error@+1 {{expected unqualified-id}}
|
|
int cbuffer;
|
|
// expected-error@+1 {{expected identifier}}
|
|
cbuffer;
|
|
|
|
// expected-error@+2 {{expected identifier}}
|
|
// expected-error@+1 {{expected unqualified-id}}
|
|
tbuffer { ... };
|
|
// expected-error@+1 {{expected '{'}}
|
|
tbuffer missing_definition;
|
|
// expected-error@+1 {{expected unqualified-id}}
|
|
int tbuffer;
|
|
// expected-error@+1 {{expected identifier}}
|
|
tbuffer;
|
|
|
|
// expected-error@+1 {{expected unqualified-id}}
|
|
cbuffer A {}, B{}
|
|
|
|
// cbuffer inside namespace is supported.
|
|
namespace N {
|
|
cbuffer A {
|
|
float g;
|
|
}
|
|
}
|
|
|
|
cbuffer A {
|
|
// expected-error@+1 {{invalid declaration inside cbuffer}}
|
|
namespace N {
|
|
}
|
|
}
|
|
|
|
cbuffer A {
|
|
// expected-error@+1 {{invalid declaration inside cbuffer}}
|
|
cbuffer Nested {
|
|
}
|
|
}
|
|
|
|
struct S {
|
|
// expected-error@+1 {{expected member name or ';' after declaration specifiers}}
|
|
cbuffer what {
|
|
int y;
|
|
}
|
|
};
|
|
|
|
void func() {
|
|
// expected-error@+1 {{expected expression}}
|
|
tbuffer derp {
|
|
int z;
|
|
}
|
|
|
|
decltype(derp) another {
|
|
int a;
|
|
}
|
|
}
|
|
|
|
// struct decl inside cb is supported.
|
|
cbuffer A {
|
|
struct S2 {
|
|
float s;
|
|
};
|
|
S2 s;
|
|
}
|
|
|
|
// function decl inside cb is supported.
|
|
cbuffer A {
|
|
float foo_inside_cb() { return 1.2;}
|
|
}
|