gcc/libgomp/testsuite/libgomp.c-c++-common
Tom de Vries b0aba46ca6 [offloading] Error on missing symbols
When compiling an OpenMP or OpenACC program containing a reference in the
offloaded code to a symbol that has not been included in the offloaded code,
the offloading compiler may ICE in lto1.

Fix this by erroring out instead, mentioning the problematic symbol:
...
error: variable 'var' has been referenced in offloaded code but hasn't
  been marked to be included in the offloaded code
lto1: fatal error: errors during merging of translation units
compilation terminated.
...

Build x86_64 with nvptx accelerator and reg-tested libgomp.

Build x86_64 and reg-tested libgomp.

2018-12-14  Tom de Vries  <tdevries@suse.de>

	* lto-cgraph.c (verify_node_partition): New function.
	(input_overwrite_node, input_varpool_node): Use verify_node_partition.

	* testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
	* testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
	* testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
	* testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
	* testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.

From-SVN: r267134
2018-12-14 13:48:56 +00:00
..
atomic-18.c
cancel-parallel-1.c
cancel-taskgroup-1.c
cancel-taskgroup-2.c
cancel-taskgroup-3.c
cancel-taskgroup-4.c
depend-iterator-1.c
depend-iterator-2.c
depend-mutexinout-1.c
depend-mutexinout-2.c
depobj-1.c
display-affinity-1.c
for-1.c
for-1.h
for-2.c
for-2.h
for-3.c
for-4.c
for-5.c
for-6.c
for-7.c
for-8.c
for-9.c
for-10.c
for-11.c
for-12.c
for-13.c
for-14.c
for-15.c
for-16.c omp-builtins.def (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_START, [...]): Fix up function types - remove one argument. 2018-12-12 23:47:55 +01:00
function-not-offloaded-aux.c [offloading] Error on missing symbols 2018-12-14 13:48:56 +00:00
function-not-offloaded.c [offloading] Error on missing symbols 2018-12-14 13:48:56 +00:00
loop-13.c
loop-14.c
loop-15.c
master-combined-1.c
monotonic-1.c
monotonic-2.c
nonmonotonic-1.c
nonmonotonic-2.c
ordered-4.c
pause-1.c
pause-2.c
pr45784.c
pr64824.c
pr64868.c
pr66199-1.c
pr66199-2.c
pr66199-3.c
pr66199-4.c
pr66199-5.c
pr66199-6.c
pr66199-7.c
pr66199-8.c
pr66199-9.c
pr66199-10.c
pr66199-11.c
pr66199-12.c
pr66199-13.c
pr66199-14.c
pr69389.c
pr81875.c
pr83046.c
simd-1.c
simd-14.c
simd-15.c
simd-16.c
simd-17.c
target-1.c
target-2.c
target-10.c
target-13.c
task-reduction-1.c
task-reduction-2.c
task-reduction-3.c
task-reduction-4.c
task-reduction-5.c
task-reduction-6.c
task-reduction-7.c
task-reduction-8.c
task-reduction-9.c
task-reduction-11.c
task-reduction-12.c
task-reduction-13.c
task-reduction-14.c
taskgroup-1.c
taskloop-1.c
taskloop-2.c
taskloop-3.c
taskloop-4.c
taskloop-reduction-1.c
taskloop-reduction-2.c
taskloop-reduction-3.c
taskloop-reduction-4.c
taskwait-depend-1.c
udr-1.c
variable-not-offloaded.c [offloading] Error on missing symbols 2018-12-14 13:48:56 +00:00