mirror of git://gcc.gnu.org/git/gcc.git
re PR fortran/60127 (ICE with OpenMP and DO CONCURRENT)
2014-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/60127
* openmp.c (resolve_omp_do): Reject do concurrent loops.
2014-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/60127
* gfortran.dg/gomp/omp_do_concurrent.f90: New.
From-SVN: r210331
This commit is contained in:
parent
3842015ea2
commit
da7316cbac
|
|
@ -1,3 +1,8 @@
|
||||||
|
2014-05-12 Tobias Burnus <burnus@net-b.de>
|
||||||
|
|
||||||
|
PR fortran/60127
|
||||||
|
* openmp.c (resolve_omp_do): Reject do concurrent loops.
|
||||||
|
|
||||||
2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
|
2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/60834
|
PR fortran/60834
|
||||||
|
|
|
||||||
|
|
@ -2169,6 +2169,12 @@ resolve_omp_do (gfc_code *code)
|
||||||
"at %L", name, &do_code->loc);
|
"at %L", name, &do_code->loc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (do_code->op == EXEC_DO_CONCURRENT)
|
||||||
|
{
|
||||||
|
gfc_error ("%s cannot be a DO CONCURRENT loop at %L", name,
|
||||||
|
&do_code->loc);
|
||||||
|
break;
|
||||||
|
}
|
||||||
gcc_assert (do_code->op == EXEC_DO);
|
gcc_assert (do_code->op == EXEC_DO);
|
||||||
if (do_code->ext.iterator->var->ts.type != BT_INTEGER)
|
if (do_code->ext.iterator->var->ts.type != BT_INTEGER)
|
||||||
gfc_error ("%s iteration variable must be of type integer at %L",
|
gfc_error ("%s iteration variable must be of type integer at %L",
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2014-05-12 Tobias Burnus <burnus@net-b.de>
|
||||||
|
|
||||||
|
PR fortran/60127
|
||||||
|
* gfortran.dg/gomp/omp_do_concurrent.f90: New.
|
||||||
|
|
||||||
2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
|
2014-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/60834
|
PR fortran/60834
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
! { dg-do compile }
|
||||||
|
! { dg-options "-fopenmp" }
|
||||||
|
!
|
||||||
|
! PR fortran/60127
|
||||||
|
!
|
||||||
|
! OpenMP 4.0 doesn't permit DO CONCURRENT (yet)
|
||||||
|
!
|
||||||
|
|
||||||
|
!$omp do
|
||||||
|
do concurrent(i=1:5) ! { dg-error "OMP DO cannot be a DO CONCURRENT loop" }
|
||||||
|
print *, 'Hello'
|
||||||
|
end do
|
||||||
|
end
|
||||||
Loading…
Reference in New Issue