[openacc] Fix diff_type in expand_oacc_collapse_init
2018-02-07 Tom de Vries <tom@codesourcery.com> PR libgomp/84217 * omp-expand.c (expand_oacc_collapse_init): Ensure diff_type is large enough. * c-c++-common/goacc/pr84217.c: New test. * gfortran.dg/goacc/pr84217.f90: New test. * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test. From-SVN: r257443
This commit is contained in:
parent
26a823f03b
commit
c31bc4ac37
7 changed files with 58 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2018-02-07 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR libgomp/84217
|
||||
* omp-expand.c (expand_oacc_collapse_init): Ensure diff_type is large
|
||||
enough.
|
||||
|
||||
2018-02-07 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/84204
|
||||
|
|
|
@ -1433,6 +1433,8 @@ expand_oacc_collapse_init (const struct omp_for_data *fd,
|
|||
plus_type = sizetype;
|
||||
if (POINTER_TYPE_P (diff_type) || TYPE_UNSIGNED (diff_type))
|
||||
diff_type = signed_type_for (diff_type);
|
||||
if (TYPE_PRECISION (diff_type) < TYPE_PRECISION (integer_type_node))
|
||||
diff_type = integer_type_node;
|
||||
|
||||
if (tiling)
|
||||
{
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2018-02-07 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR libgomp/84217
|
||||
* c-c++-common/goacc/pr84217.c: New test.
|
||||
* gfortran.dg/goacc/pr84217.f90: New test.
|
||||
|
||||
2018-02-07 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/84204
|
||||
|
|
8
gcc/testsuite/c-c++-common/goacc/pr84217.c
Normal file
8
gcc/testsuite/c-c++-common/goacc/pr84217.c
Normal file
|
@ -0,0 +1,8 @@
|
|||
void
|
||||
foo (void)
|
||||
{
|
||||
#pragma acc parallel loop tile (2, 3)
|
||||
for (short i = 0; i < 10; ++i)
|
||||
for (short j = 0; j < 10; ++j)
|
||||
;
|
||||
}
|
9
gcc/testsuite/gfortran.dg/goacc/pr84217.f90
Normal file
9
gcc/testsuite/gfortran.dg/goacc/pr84217.f90
Normal file
|
@ -0,0 +1,9 @@
|
|||
subroutine foo
|
||||
integer(2) :: i, j
|
||||
!$acc parallel loop tile(2,3)
|
||||
do i = 1, 10
|
||||
do j = 1, 10
|
||||
end do
|
||||
end do
|
||||
!$acc end parallel loop
|
||||
end
|
|
@ -1,3 +1,8 @@
|
|||
2018-02-07 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR libgomp/84217
|
||||
* testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
|
||||
|
||||
2018-01-29 Christoph Spiel <cspiel@freenet.de>
|
||||
Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
|
|
22
libgomp/testsuite/libgomp.oacc-c-c++-common/pr84217.c
Normal file
22
libgomp/testsuite/libgomp.oacc-c-c++-common/pr84217.c
Normal file
|
@ -0,0 +1,22 @@
|
|||
extern void abort (void);
|
||||
|
||||
#define N 10
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
int a[N];
|
||||
|
||||
for (short i = 0; i < N; ++i)
|
||||
a[i] = -1;
|
||||
|
||||
#pragma acc parallel loop tile (2)
|
||||
for (short i = 0; i < N; ++i)
|
||||
a[i] = i;
|
||||
|
||||
for (short i = 0; i < N; ++i)
|
||||
if (a[i] != i)
|
||||
abort ();
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Reference in a new issue