brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 3c8a9e0 Raw
32 lines · plain
1// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.0-compute -ast-dump -x hlsl -o - %s | FileCheck %s2 3 4struct MyBitFields {5  // CHECK: FieldDecl 0x{{[0-9a-f]+}} <line:9:3, col:25> col:16 referenced field1 'unsigned int'6  // CHECK:-ConstantExpr 0x{{[0-9a-f]+}} <col:25> 'int'7  // CHECK:-value: Int 38  // CHECK:-IntegerLiteral 0x{{[0-9a-f]+}} <col:25> 'int' 39  unsigned int field1 : 3; // 3 bits for field110 11  // CHECK:FieldDecl 0x{{[0-9a-f]+}} <line:15:3, col:25> col:16 referenced field2 'unsigned int'12  // CHECK:-ConstantExpr 0x{{[0-9a-f]+}} <col:25> 'int'13  // CHECK:-value: Int 414  // CHECK:-IntegerLiteral 0x{{[0-9a-f]+}} <col:25> 'int' 415  unsigned int field2 : 4; // 4 bits for field216  17  // CHECK:FieldDecl 0x{{[0-9a-f]+}} <line:21:3, col:16> col:7 field3 'int'18  // CHECK:-ConstantExpr 0x{{[0-9a-f]+}} <col:16> 'int'19  // CHECK:-value: Int 520  // CHECK:-IntegerLiteral 0x{{[0-9a-f]+}} <col:16> 'int' 521  int field3 : 5;          // 5 bits for field3 (signed)22};23 24 25 26[numthreads(1,1,1)]27void main() {28  MyBitFields m;29  m.field1 = 4;30  m.field2 = m.field1*2;31}32