75 lines · plain
1// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -x hlsl -o - -fsyntax-only %s -verify2 3// expected-error@+2 {{expected identifier}}4// expected-error@+1 {{expected unqualified-id}}5cbuffer { ... };6// expected-error@+1 {{expected '{'}}7cbuffer missing_definition;8// expected-error@+1 {{expected unqualified-id}}9int cbuffer;10// expected-error@+1 {{expected identifier}}11cbuffer;12 13// expected-error@+2 {{expected identifier}}14// expected-error@+1 {{expected unqualified-id}}15tbuffer { ... };16// expected-error@+1 {{expected '{'}}17tbuffer missing_definition;18// expected-error@+1 {{expected unqualified-id}}19int tbuffer;20// expected-error@+1 {{expected identifier}}21tbuffer;22 23// expected-error@+1 {{expected unqualified-id}}24cbuffer A {}, B{}25 26// cbuffer inside namespace is supported.27namespace N {28 cbuffer A {29 float g;30 }31}32 33cbuffer A {34 // expected-error@+1 {{invalid declaration inside cbuffer}}35 namespace N {36 }37}38 39cbuffer A {40 // expected-error@+1 {{invalid declaration inside cbuffer}}41 cbuffer Nested {42 }43}44 45struct S {46 // expected-error@+1 {{expected member name or ';' after declaration specifiers}}47 cbuffer what {48 int y;49 }50};51 52void func() {53 // expected-error@+1 {{expected expression}}54 tbuffer derp {55 int z;56 }57 58 decltype(derp) another {59 int a;60 }61}62 63// struct decl inside cb is supported.64cbuffer A {65 struct S2 {66 float s;67 };68 S2 s;69}70 71// function decl inside cb is supported.72cbuffer A {73 float foo_inside_cb() { return 1.2;}74}75