brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 2a61b08 Raw
53 lines · cpp
1// RUN: %clang_cc1 -fopenacc -ast-print %s -o - | FileCheck %s2 3int *Global, *Global2;4int GlobalArray[5];5int GlobalArray2[5];6// CHECK: #pragma acc declare deviceptr(Global) copyin(GlobalArray)7#pragma acc declare deviceptr(Global), copyin(GlobalArray)8// CHECK: #pragma acc declare create(zero: Global2, GlobalArray2)9#pragma acc declare create(zero: Global2, GlobalArray2)10 11namespace NS {12int NSVar;13int NSArray[5];14// CHECK: #pragma acc declare create(NSVar, NSArray)15#pragma acc declare create(NSVar, NSArray)16}17 18struct Struct {19  static const int StaticMem = 5;20  static const int StaticMemArray[5];21// CHECK: #pragma acc declare copyin(always, alwaysin: StaticMem, StaticMemArray)22#pragma acc declare copyin(always, alwaysin: StaticMem, StaticMemArray)23 24  void MemFunc1(int Arg) {25    int Local;26    int LocalArray[5];27// CHECK: #pragma acc declare present(Arg, Local, LocalArray)28#pragma acc declare present(Arg, Local, LocalArray)29  }30  void MemFunc2(int Arg);31};32void Struct::MemFunc2(int Arg) {33  int Local;34  int LocalArray[5];35// CHECK: #pragma acc declare present(Arg, Local, LocalArray)36#pragma acc declare present(Arg, Local, LocalArray)37}38 39void NormalFunc(int Arg) {40  int Local;41  int LocalArray[5];42// CHECK: #pragma acc declare present(Arg, Local, LocalArray)43#pragma acc declare present(Arg, Local, LocalArray)44}45 46void NormalFunc2(int *Arg) {47  int Local;48  int LocalArray[5];49  extern int ExternLocal;50// CHECK: #pragma acc declare deviceptr(Arg) device_resident(Local) link(ExternLocal)51#pragma acc declare deviceptr(Arg) device_resident(Local) link(ExternLocal)52}53