brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 8dab6bc Raw
66 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 host_data use_device(I) if_present18  ;19  // CHECK-NEXT: OpenACCHostDataConstruct{{.*}}host_data20  // CHECK-NEXT: use_device clause21  // CHECK-NEXT: DeclRefExpr{{.*}}'I' 'int'22  // CHECK-NEXT: if_present clause23  // CHECK-NEXT: NullStmt24}25 26template<typename T>27void TemplUses() {28  // CHECK: FunctionTemplateDecl{{.*}}TemplUses29  // CHECK-NEXT: TemplateTypeParmDecl{{.*}}T30  // CHECK-NEXT: FunctionDecl{{.*}}TemplUses31  // CHECK-NEXT: CompoundStmt32 33  T I;34  // CHECK-NEXT: DeclStmt35  // CHECK-NEXT: VarDecl36 37#pragma acc host_data use_device(I) if_present38  ;39  // CHECK-NEXT: OpenACCHostDataConstruct{{.*}}host_data40  // CHECK-NEXT: use_device clause41  // CHECK-NEXT: DeclRefExpr{{.*}}'I' 'T'42  // CHECK-NEXT: if_present clause43  // CHECK-NEXT: NullStmt44 45  // Instantiations46  // CHECK-NEXT: FunctionDecl{{.*}} TemplUses 'void ()' implicit_instantiation47  // CHECK-NEXT: TemplateArgument type 'int'48  // CHECK-NEXT: BuiltinType{{.*}} 'int'49  // CHECK-NEXT: CompoundStmt50 51  // CHECK-NEXT: DeclStmt52  // CHECK-NEXT: VarDecl53 54  // CHECK-NEXT: OpenACCHostDataConstruct{{.*}}host_data55  // CHECK-NEXT: use_device clause56  // CHECK-NEXT: DeclRefExpr{{.*}}'I' 'int'57  // CHECK-NEXT: if_present clause58  // CHECK-NEXT: NullStmt59}60void Inst() {61  TemplUses<int>();62}63 64 65#endif // PCH_HELPER66