[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / ParserHLSL / hlsl_parameter_modifiers.cpp
blobcb553fbfa4d32fab376a47e44151b6178f3baac1
1 // RUN: %clang_cc1 %s -verify
3 // expected-error@#fn{{unknown type name 'in'}}
4 // expected-error@#fn{{expected ')'}}
5 // expected-note@#fn{{to match this '('}}
6 void fn(in out float f); // #fn
8 // expected-error@#fn2{{unknown type name 'in'}}
9 // expected-error@#fn2{{expected ')'}}
10 // expected-note@#fn2{{to match this '('}}
11 void fn2(in in float f); // #fn2
13 // expected-error@#fn3{{unknown type name 'out'}}
14 // expected-error@#fn3{{expected ')'}}
15 // expected-note@#fn3{{to match this '('}}
16 void fn3(out out float f); // #fn3
18 // expected-error@#fn4{{unknown type name 'inout'}}
19 // expected-error@#fn4{{expected ')'}}
20 // expected-note@#fn4{{to match this '('}}
21 void fn4(inout in out float f); // #fn4
23 // expected-error@#fn5{{unknown type name 'inout'}}
24 // expected-error@#fn5{{expected ')'}}
25 // expected-note@#fn5{{to match this '('}}
26 void fn5(inout in float f); // #fn5
28 // expected-error@#fn6{{unknown type name 'inout'}}
29 // expected-error@#fn6{{expected ')'}}
30 // expected-note@#fn6{{to match this '('}}
31 void fn6(inout out float f); // #fn6
33 void implicitFn(float f);
35 // expected-error@#inFn{{unknown type name 'in'}}
36 void inFn(in float f); // #inFn
38 // expected-error@#inoutFn{{unknown type name 'inout'}}
39 void inoutFn(inout float f); // #inoutFn
41 // expected-error@#outFn{{unknown type name 'out'}}
42 void outFn(out float f); // #outFn
44 // expected-error@#fn7{{unknown type name 'inout'}}
45 // expected-error@#fn7{{declaration of 'T' shadows template parameter}}
46 // expected-error@#fn7{{expected ')'}}
47 // expected-note@#fn7{{to match this '('}}
48 template <typename T> // expected-note{{template parameter is declared here}}
49 void fn7(inout T f); // #fn7