Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.oacc-c-c++-common/lib-59.c @ 144:8f4e72ab4e11
fix segmentation fault caused by nothing next cur_op to end
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 23 Dec 2018 21:23:56 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do run } */ /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */ #include <stdlib.h> #include <openacc.h> #include <stdint.h> int main (int argc, char **argv) { const int N = 256; int i; unsigned char *h; void *d; h = (unsigned char *) malloc (N); d = acc_malloc (N); acc_map_data (h, d, N); for (i = 0; i < N; i++) { if (acc_hostptr ((void *)((uintptr_t) d + (uintptr_t) i)) != (void *)((uintptr_t) h + (uintptr_t) i)) abort (); } for (i = 0; i < N; i++) { if (acc_deviceptr ((void *)((uintptr_t) h + (uintptr_t) i)) != (void *)((uintptr_t) d + (uintptr_t) i)) abort (); } acc_unmap_data (h); for (i = 0; i < N; i++) { if (acc_hostptr ((void *)((uintptr_t) d + (uintptr_t) i)) != 0) abort (); } for (i = 0; i < N; i++) { if (acc_deviceptr (h + i) != 0) abort (); } acc_free (d); free (h); return 0; }