brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 0dc6605 Raw
61 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 9void Uses() {10  // CHECK: FunctionDecl{{.*}}Uses11  // CHECK-NEXT: CompoundStmt12 13  int I;14  // CHECK-NEXT: DeclStmt15  // CHECK-NEXT: VarDecl16 17#pragma acc exit data copyout(I) finalize18  // CHECK-NEXT: OpenACCExitDataConstruct{{.*}}exit data19  // CHECK-NEXT: copyout clause20  // CHECK-NEXT: DeclRefExpr{{.*}}'I' 'int'21  // CHECK-NEXT: finalize clause22}23 24template<typename T>25void TemplUses() {26  // CHECK: FunctionTemplateDecl{{.*}}TemplUses27  // CHECK-NEXT: TemplateTypeParmDecl{{.*}}T28  // CHECK-NEXT: FunctionDecl{{.*}}TemplUses29  // CHECK-NEXT: CompoundStmt30 31  T I;32  // CHECK-NEXT: DeclStmt33  // CHECK-NEXT: VarDecl34 35#pragma acc exit data copyout(I) finalize36  // CHECK-NEXT: OpenACCExitDataConstruct{{.*}}exit data37  // CHECK-NEXT: copyout clause38  // CHECK-NEXT: DeclRefExpr{{.*}}'I' 'T'39  // CHECK-NEXT: finalize clause40 41  // Instantiations42  // CHECK-NEXT: FunctionDecl{{.*}} TemplUses 'void ()' implicit_instantiation43  // CHECK-NEXT: TemplateArgument type 'int'44  // CHECK-NEXT: BuiltinType{{.*}} 'int'45  // CHECK-NEXT: CompoundStmt46 47  // CHECK-NEXT: DeclStmt48  // CHECK-NEXT: VarDecl49 50  // CHECK-NEXT: OpenACCExitDataConstruct{{.*}}exit data51  // CHECK-NEXT: copyout clause52  // CHECK-NEXT: DeclRefExpr{{.*}}'I' 'int'53  // CHECK-NEXT: finalize clause54}55void Inst() {56  TemplUses<int>();57}58 59 60#endif // PCH_HELPER61