brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 6ab10c4 Raw
51 lines · cpp
1// RUN: %clang_cc1 -verify -fopenmp -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple powerpc64le-unknown-unknown -emit-llvm %s -o - | FileCheck %s2// RUN: %clang_cc1 -fopenmp -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -std=c++11 -triple powerpc64le-unknown-unknown -emit-pch -o %t %s3// RUN: %clang_cc1 -fopenmp -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple powerpc64le-unknown-unknown -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s4 5// expected-no-diagnostics6#ifndef HEADER7#define HEADER8 9typedef struct {10  int a;11} C;12#pragma omp declare mapper(C s) map(to : s.a)13 14typedef struct {15  int e;16  C f;17  int h;18} D;19 20D s;21 22void foo() {23  s.e = 111;24  s.h = 10;25  D *sp = &s;26  D **spp = &sp;27  D ***sppp = &spp;28#pragma omp target map(tofrom : spp[0][0])29  {30    spp[0][0].e = 333;31  }32#pragma omp target map(tofrom : sp[0])33  {34    sp[0].e = 444;35  }36#pragma omp target map(tofrom : sppp[0][0][0])37  {38    sppp[0][0][0].e = 555;39  }40}41#endif42 43// CHECK: @.offload_sizes = private unnamed_addr constant [5 x i64] [i64 8, i64 0, i64 0, i64 0, i64 4]44// CHECK-NOT: @.offload_sizes = private unnamed_addr constant [6 x i64] [i64 8, i64 0, i64 0, i64 0, i64 8, i64 4]45// CHECK: @.offload_maptypes = private unnamed_addr constant [5 x i64] [i64 35, i64 16, i64 562949953421315, i64 562949953421315, i64 562949953421827]46// CHECK-NOT: .offload_maptypes = private unnamed_addr constant  [6 x i64] [i64 35, i64 0, i64 562949953421315, i64 562949953421315, i64 562949953421827, i64 562949953421843]47// CHECK: @.offload_sizes.1 = private unnamed_addr constant [4 x i64] [i64 0, i64 0, i64 0, i64 4]48// CHECK: @.offload_maptypes.2 = private unnamed_addr constant [4 x i64] [i64 32, i64 281474976710659, i64 281474976710659, i64 281474976711171]49// CHECK: @.offload_sizes.3 = private unnamed_addr constant [6 x i64] [i64 8, i64 8, i64 0, i64 0, i64 0, i64 4]50// CHECK: @.offload_maptypes.4 = private unnamed_addr constant [6 x i64] [i64 35, i64 16, i64 16, i64 844424930131971, i64 844424930131971, i64 844424930132483]51