-
Notifications
You must be signed in to change notification settings - Fork 26
gcc/8.2.0 compilation failures #3
Description
Hi,
Trying to compile the .c test files with gcc/8.2.0, i am getting a few failures.
I'd like to get your expert feedback about those failures, i.e can we explain those failure because gcc just does not support the directives used in the test code (then i'll be fine with it). If not, we may want to report to the compiler team or adapt the src code.
Undefined references:
-
acc_copyin_async
-
acc_copyout_async
-
acc_create_async
-
acc_delete_async
-
acc_get_default_async
-
acc_memcpy_from_device_async
-
acc_set_default_async
-
acc_update_device_async
-
acc_update_self_async
-
acc_free (undef acc_property_free_memory)
-
acc_get_property (undef acc_property_free_memory)
-
acc_malloc (undef acc_property_free_memory)
For instance:
cc -fopenacc -lm acc_copyin_async.c -o acc_copyin_async
acc_copyin_async.c: In function 'test':
acc_copyin_async.c:19:5: warning: implicit declaration of function 'acc_copyin_async';
did you mean 'acc_wait_async'? [-Wimplicit-function-declaration]
acc_copyin_async(a, n * sizeof(real_t), 1);
^~~~~~~~~~~~~~~~
acc_wait_async
/tmp/ccuvXq81.o:acc_copyin_async.c:function test:
error: undefined reference to 'acc_copyin_async'
'c' appears more than once
cc -fopenacc -lm acc_wait.c -o acc_wait
acc_wait.c: In function 'test':
acc_wait.c:27:13: error: 'c' appears more than once in data clauses
#pragma acc parallel present(c[0:n], d[0:n], c[0:n]) async(1) wait(2)
- acc_async_test
- acc_wait
expected ')'
cc -fopenacc -lm parallel_private.c -o parallel_private
parallel_private.c:21:49: error: expected ')' before '[' token
#pragma acc parallel num_gangs(10) private(c[0:n])
- parallel_firstprivate
- parallel_private
INTERNAL-COMPILER-ERROR
cc -fopenacc -lm acc_memcpy_to_device_async.c -o acc_memcpy_to_device_async
acc_memcpy_to_device_async.c:36:5: warning:
implicit declaration of function 'acc_memcpy_to_device_async';
did you mean 'acc_memcpy_to_device'? [-Wimplicit-function-declaration]
acc_memcpy_to_device_async(devdata, a, n * sizeof(real_t), 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~
acc_memcpy_to_device
during GIMPLE pass: omplower
acc_memcpy_to_device_async.c:89:13: internal compiler error: Segmentation fault
#pragma acc update host(hostdata[2*n:n]) async(3)
'tile' argument
cc -fopenacc -lm parallel_loop_tile.c -o parallel_loop_tile
parallel_loop_tile.c:45:40: error: 'tile' argument needs positive integral constant
#pragma acc parallel loop tile(tile_arg/10, tile_arg, tile_arg*2)
expected clause before finalize
cc -fopenacc -lm exit_data_finalize.c -o exit_data_finalize
exit_data_finalize.c:63:66: error: expected '#pragma acc' clause before 'finalize'
#pragma acc exit data delete(a[0:n], b[0:n]) copyout(c[0:n]) finalize
array section
cc -fopenacc -lm declare.c -o declare
declare.c:50:29: error: array section in '#pragma acc declare'
#pragma acc declare copyin(b[0:n])
array section is not contiguous
cc -fopenacc -lm acc_async_test_all.c -o acc_async_test_all
acc_async_test_all.c:25:34: error: array section is not contiguous in 'map' clause
#pragma acc enter data create(a[0:10][0:n], b[0:10][0:n],
c[0:10][0:n], d[0:10][0:n], e[0:10][0:n])
'c' undeclared
cc -fopenacc -lm atomic_capture_bitor_equals.c -o atomic_capture_bitor_equals
atomic_capture_bitor_equals.c:54:70: error: 'c' undeclared (first use in this function)
#pragma acc data copyin(a[0:n]) copy(totals[0:n/10 + 1]) copyout(c[0:n])