Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / ParserHLSL / cb_error.hlsl
blob245bf0a03fac9e27b6d656ab3b208cdc1bc25739
1 // RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -x hlsl -o - -fsyntax-only %s -verify
3 // expected-error@+2 {{expected identifier}}
4 // expected-error@+1 {{expected unqualified-id}}
5 cbuffer { ... };
6 // expected-error@+1 {{expected '{'}}
7 cbuffer missing_definition;
8 // expected-error@+1 {{expected unqualified-id}}
9 int cbuffer;
10 // expected-error@+1 {{expected identifier}}
11 cbuffer;
13 // expected-error@+2 {{expected identifier}}
14 // expected-error@+1 {{expected unqualified-id}}
15 tbuffer { ... };
16 // expected-error@+1 {{expected '{'}}
17 tbuffer missing_definition;
18 // expected-error@+1 {{expected unqualified-id}}
19 int tbuffer;
20 // expected-error@+1 {{expected identifier}}
21 tbuffer;
23 // expected-error@+1 {{expected unqualified-id}}
24 cbuffer A {}, B{}
26 // cbuffer inside namespace is supported.
27 namespace N {
28   cbuffer A {
29     float g;
30   }
33 cbuffer A {
34   // expected-error@+1 {{invalid declaration inside cbuffer}}
35   namespace N {
36   }
39 cbuffer A {
40   // expected-error@+1 {{invalid declaration inside cbuffer}}
41   cbuffer Nested {
42   }
45 struct S {
46   // expected-error@+1 {{expected member name or ';' after declaration specifiers}}
47   cbuffer what {
48     int y;
49   }
52 void func() {
53   // expected-error@+1 {{expected expression}}
54   tbuffer derp {
55     int z;
56   }
58   decltype(derp) another {
59     int a;
60   }
63 // struct decl inside cb is supported.
64 cbuffer A {
65   struct S2 {
66     float s;
67   };
68   S2 s;
71 // function decl inside cb is supported.
72 cbuffer A {
73   float foo_inside_cb() { return 1.2;}