brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 245bf0a Raw
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