gcc/libgomp/testsuite/libgomp.oacc-c-c++-common/pr89376.c
Tom de Vries f45ce17d98 [openacc, parloops] Fix SIGSEGV in oacc_entry_exit_ok_1
When compiling the test-case with r268755, we run into a SIGSEGV in
oacc_entry_exit_ok_1 when trying to dereference a NULL red:
...
                      struct reduction_info *red;
                      red = reduction_phi (reduction_list, use_stmt);
                      tree val = PHI_RESULT (red->keep_res);
...

Fix this by handling ref == NULL.

Bootstrapped and reg-tested on x86_64.
Build and reg-tested on x86_64 with nvptx accelerator.

2019-06-16  Tom de Vries  <tdevries@suse.de>

	PR tree-optimization/89376
	* tree-parloops.c (oacc_entry_exit_ok_1): Handle red == NULL.

	* testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.

From-SVN: r272338
2019-06-16 07:47:15 +00:00

16 lines
208 B
C

/* { dg-do run } */
/* { dg-additional-options "-fno-tree-ch -fno-tree-dce -fno-tree-vrp" } */
int
main (void)
{
int fa;
#pragma acc kernels
for (int rw = 0; rw < 1; ++rw)
fa = 0;
return 0;
}