brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · fb6a371 Raw
79 lines · cpp
1// RUN: %clang_cc1 %s -fopenacc -ast-dump | FileCheck %s2 3// Test this with PCH.4// RUN: %clang_cc1 %s -fopenacc -emit-pch -o %t %s5// RUN: %clang_cc1 %s -fopenacc -include-pch %t -ast-dump-all | FileCheck %s6#ifndef PCH_HELPER7#define PCH_HELPER8 9int some_int();10 11template<typename T>12void TemplUses() {13  // CHECK: FunctionTemplateDecl{{.*}}TemplUses14  // CHECK-NEXT: TemplateTypeParmDecl{{.*}}T15  // CHECK-NEXT: FunctionDecl{{.*}}TemplUses16  // CHECK-NEXT: CompoundStmt17 18  // CHECK-NEXT: DeclStmt19  // CHECK-NEXT: VarDecl20  T t;21 22#pragma acc data default(none) async(some_int())23  ;24  // CHECK-NEXT: OpenACCDataConstruct{{.*}}data25  // CHECK-NEXT: default(none)26  // CHECK-NEXT: async clause27  // CHECK-NEXT: CallExpr{{.*}}'int'28  // CHECK-NEXT: ImplicitCastExpr29  // CHECK-NEXT: DeclRefExpr{{.*}}'some_int' 'int ()'30  // CHECK-NEXT: NullStmt31#pragma acc enter data copyin(t) async(T{})32  // CHECK-NEXT: OpenACCEnterDataConstruct{{.*}}enter data33  // CHECK-NEXT: copyin clause34  // CHECK-NEXT: DeclRefExpr{{.*}}'t' 'T'35  // CHECK-NEXT: async clause36  // CHECK-NEXT: CXXUnresolvedConstructExpr{{.*}} 'T' 'T' list37  // CHECK-NEXT: InitListExpr{{.*}}'void'38#pragma acc exit data copyout(t) async39  // CHECK-NEXT: OpenACCExitDataConstruct{{.*}}exit data40  // CHECK-NEXT: copyout clause41  // CHECK-NEXT: DeclRefExpr{{.*}}'t' 'T'42  // CHECK-NEXT: async clause43 44  // Instantiations45  // CHECK-NEXT: FunctionDecl{{.*}} TemplUses 'void ()' implicit_instantiation46  // CHECK-NEXT: TemplateArgument type 'int'47  // CHECK-NEXT: BuiltinType{{.*}} 'int'48  // CHECK-NEXT: CompoundStmt49 50  // CHECK-NEXT: DeclStmt51  // CHECK-NEXT: VarDecl52 53  // CHECK-NEXT: OpenACCDataConstruct{{.*}}data54  // CHECK-NEXT: default(none)55  // CHECK-NEXT: async clause56  // CHECK-NEXT: CallExpr{{.*}}'int'57  // CHECK-NEXT: ImplicitCastExpr58  // CHECK-NEXT: DeclRefExpr{{.*}}'some_int' 'int ()'59  // CHECK-NEXT: NullStmt60 61  // CHECK-NEXT: OpenACCEnterDataConstruct{{.*}}enter data62  // CHECK-NEXT: copyin clause63  // CHECK-NEXT: DeclRefExpr{{.*}}'t' 'int'64  // CHECK-NEXT: async clause65  // CHECK-NEXT: CXXFunctionalCastExpr66  // CHECK-NEXT: InitListExpr{{.*}}'int'67 68  // CHECK-NEXT: OpenACCExitDataConstruct{{.*}}exit data69  // CHECK-NEXT: copyout clause70  // CHECK-NEXT: DeclRefExpr{{.*}}'t' 'int'71  // CHECK-NEXT: async clause72}73void Inst() {74  TemplUses<int>();75}76 77 78#endif // PCH_HELPER79