// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -x hlsl \ // RUN: -emit-pch -o %t %s // RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -x hlsl \ // RUN: -include-pch %t -fsyntax-only -ast-dump-all %S/Inputs/empty.hlsl \ // RUN: | FileCheck %s cbuffer A { float a; } tbuffer B { float b; } float foo() { return a + b; } // Make sure cbuffer/tbuffer works for PCH. // CHECK:HLSLBufferDecl 0x{{[0-9a-f]+}} <{{.*}}:7:1, line:9:1> line:7:9 imported cbuffer A // CHECK-NEXT:`-VarDecl 0x[[A:[0-9a-f]+]] col:9 imported used a 'float' // CHECK-NEXT:HLSLBufferDecl 0x{{[0-9a-f]+}} line:11:9 imported tbuffer B // CHECK-NEXT:`-VarDecl 0x[[B:[0-9a-f]+]] col:9 imported used b 'float' // CHECK-NEXT:FunctionDecl 0x{{[0-9a-f]+}} line:15:7 imported foo 'float ()' // CHECK-NEXT:CompoundStmt 0x{{[0-9a-f]+}} // CHECK-NEXT:ReturnStmt 0x{{[0-9a-f]+}} // CHECK-NEXT:BinaryOperator 0x{{[0-9a-f]+}} 'float' '+' // CHECK-NEXT:ImplicitCastExpr 0x{{[0-9a-f]+}} 'float' // CHECK-NEXT:`-DeclRefExpr 0x{{[0-9a-f]+}} 'float' lvalue Var 0x[[A]] 'a' 'float' // CHECK-NEXT:`-ImplicitCastExpr 0x{{[0-9a-f]+}} 'float' // CHECK-NEXT:`-DeclRefExpr 0x{{[0-9a-f]+}} 'float' lvalue Var 0x[[B]] 'b' 'float'