brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · cd5dfea Raw
128 lines · cpp
1// RUN: %clang_cc1 -w -verify -fopenmp -I %S/Inputs -ast-print %s | FileCheck %s --check-prefix=CHECK2// expected-no-diagnostics3 4static int variable = 100;5static float variable1 = 200;6static float variable2 = variable1;7 8static int var = 1;9 10static int var1 = 10;11static int *var2 = &var1;12static int **ptr1 = &var2;13 14int arr[2] = {1,2};15int (*arrptr)[2] = &arr;16 17class declare{18  public: int x;19          void print();20};21declare obj1;22declare *obj2 = &obj1;23 24struct target{25  int x;26  void print();27};28static target S;29 30static int var3 = 100;31static int *ptr_3 = &var3;32static char c = 'a';33 34#pragma omp declare target35int target_var = variable;36float target_var1 = variable2;37int *ptr = &var;38int ***ptr2 = &ptr1;39int (**ptr3)[2] = &arrptr;40declare **obj3 = &obj2;41target *S1 = &S;42#pragma omp end declare target43#pragma omp declare target(ptr_3)44#pragma omp declare target to(c)45 46// CHECK: #pragma omp declare target47// CHECK-NEXT: static int variable = 100;48// CHECK-NEXT: #pragma omp end declare target49 50// CHECK-NEXT: #pragma omp declare target51// CHECK-NEXT: static float variable1 = 200;52// CHECK-NEXT: #pragma omp end declare target53// CHECK-NEXT: #pragma omp declare target54// CHECK-NEXT: static float variable2 = variable1;55// CHECK-NEXT: #pragma omp end declare target56 57// CHECK: #pragma omp declare target58// CHECK-NEXT: static int var = 1;59// CHECK-NEXT: #pragma omp end declare target60 61// CHECK-NEXT: #pragma omp declare target62// CHECK-NEXT: static int var1 = 10;63// CHECK-NEXT: #pragma omp end declare target64// CHECK-NEXT: #pragma omp declare target65// CHECK-NEXT: static int *var2 = &var1;66// CHECK-NEXT: #pragma omp end declare target67// CHECK-NEXT: #pragma omp declare target68// CHECK-NEXT: static int **ptr1 = &var2;69// CHECK-NEXT: #pragma omp end declare target70 71// CHECK-NEXT: #pragma omp declare target72// CHECK-NEXT: int arr[2] = {1, 2};73// CHECK-NEXT: #pragma omp end declare target74// CHECK-NEXT: #pragma omp declare target75// CHECK-NEXT: int (*arrptr)[2] = &arr;76// CHECK-NEXT: #pragma omp end declare target77 78// CHECK-NEXT: class declare {79// CHECK-NEXT: public:80// CHECK-NEXT:  int x;81// CHECK-NEXT:  void print();82// CHECK-NEXT: };83// CHECK-NEXT: #pragma omp declare target84// CHECK-NEXT: declare obj1;85// CHECK-NEXT: #pragma omp end declare target86// CHECK-NEXT: #pragma omp declare target87// CHECK-NEXT: declare *obj2 = &obj1;88// CHECK-NEXT: #pragma omp end declare target89 90// CHECK-NEXT: struct target {91// CHECK-NEXT:  int x;92// CHECK-NEXT:  void print();93// CHECK-NEXT: };94// CHECK-NEXT: #pragma omp declare target95// CHECK-NEXT: static target S;96// CHECK-NEXT: #pragma omp end declare target97// CHECK-NEXT: #pragma omp declare target98// CHECK-NEXT: static int var3 = 100;99// CHECK-NEXT: #pragma omp end declare target100// CHECK-NEXT: #pragma omp declare target101// CHECK-NEXT: static int *ptr_3 = &var3;102// CHECK-NEXT: #pragma omp end declare target103// CHECK-NEXT: #pragma omp declare target104// CHECK-NEXT: static char c = 'a';105// CHECK-NEXT: #pragma omp end declare target106// CHECK-NEXT: #pragma omp declare target107// CHECK-NEXT: int target_var = variable;108// CHECK-NEXT: #pragma omp end declare target109// CHECK-NEXT: #pragma omp declare target110// CHECK-NEXT: float target_var1 = variable2;111// CHECK-NEXT: #pragma omp end declare target112// CHECK-NEXT: #pragma omp declare target113// CHECK-NEXT: int *ptr = &var;114// CHECK-NEXT: #pragma omp end declare target115// CHECK-NEXT: #pragma omp declare target116// CHECK-NEXT: int ***ptr2 = &ptr1;117// CHECK-NEXT: #pragma omp end declare target118// CHECK-NEXT: #pragma omp declare target119// CHECK-NEXT: int (**ptr3)[2] = &arrptr;120// CHECK-NEXT: #pragma omp end declare target121// CHECK-NEXT: #pragma omp declare target122// CHECK-NEXT: declare **obj3 = &obj2;123// CHECK-NEXT: #pragma omp end declare target124// CHECK-NEXT: #pragma omp declare target125// CHECK-NEXT: target *S1 = &S;126// CHECK-NEXT: #pragma omp end declare target127 128