35 lines · plain
1// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library %s -ast-dump | FileCheck %s2 3typedef vector<int,4> int8[2];4 5export void fn(int8 A) {6 int8 a = {A};7// CHECK-LABEL: VarDecl {{.*}} b 'int8':'vector<int, 4>[2]' cinit8// CHECK-NEXT: ArrayInitLoopExpr {{.*}} 'int8':'vector<int, 4>[2]'9// CHECK-NEXT: OpaqueValueExpr {{.*}} 'int8':'vector<int, 4>[2]' lvalue10// CHECK-NEXT: DeclRefExpr {{.*}} 'int8':'vector<int, 4>[2]' lvalue Var {{.*}} 'a' 'int8':'vector<int, 4>[2]'11// CHECK-NEXT: ImplicitCastExpr {{.*}} 'vector<int, 4>' <LValueToRValue>12// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'vector<int, 4>' lvalue13// CHECK-NEXT: ImplicitCastExpr {{.*}} 'vector<int, 4> *' <ArrayToPointerDecay>14// CHECK-NEXT: OpaqueValueExpr {{.*}} 'int8':'vector<int, 4>[2]' lvalue15// CHECK-NEXT: DeclRefExpr {{.*}} 'int8':'vector<int, 4>[2]' lvalue Var {{.*}} 'a' 'int8':'vector<int, 4>[2]'16// CHECK-NEXT: ArrayInitIndexExpr {{.*}} '__size_t':'unsigned long'17 int8 b = a;18 19// CHECK-LABEL: VarDecl {{.*}} c 'int8':'vector<int, 4>[2]' cinit20// CHECK-NEXT: ArrayInitLoopExpr {{.*}} 'int8':'vector<int, 4>[2]'21// CHECK-NEXT: OpaqueValueExpr {{.*}} 'vector<int, 4>[2]' lvalue22// CHECK-NEXT: DeclRefExpr {{.*}} 'vector<int, 4>[2]' lvalue ParmVar {{.*}} 'A' 'vector<int, 4>[2]'23// CHECK-NEXT: ImplicitCastExpr {{.*}} 'vector<int, 4>' <LValueToRValue>24// CHECK-NEXT: ArraySubscriptExpr {{.*}} 'vector<int, 4>' lvalue25// CHECK-NEXT: ImplicitCastExpr {{.*}} 'vector<int, 4> *' <ArrayToPointerDecay>26// CHECK-NEXT: OpaqueValueExpr {{.*}} 'vector<int, 4>[2]' lvalue27// CHECK-NEXT: DeclRefExpr {{.*}} 'vector<int, 4>[2]' lvalue ParmVar {{.*}} 'A' 'vector<int, 4>[2]'28// CHECK-NEXT: ArrayInitIndexExpr {{.*}} '__size_t':'unsigned long'29 int8 c = A;30}31 32 33 34 35