backport: re PR fortran/81304 (Bogus warning with -Wsurprising and -fopenmp: Type specified for intrinsic function 'min' / 'max')
Backported from mainline 2017-11-24 Jakub Jelinek <jakub@redhat.com> PR fortran/81304 * trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set attr.implicit_type in intrinsic_sym to avoid undesirable warning. * testsuite/libgomp.fortran/pr81304.f90: New test. From-SVN: r255716
This commit is contained in:
parent
e57525d514
commit
88b712c241
@ -1,6 +1,12 @@
|
||||
2017-12-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
Backported from mainline
|
||||
2017-11-24 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR fortran/81304
|
||||
* trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set
|
||||
attr.implicit_type in intrinsic_sym to avoid undesirable warning.
|
||||
|
||||
2017-11-23 Dirk Broemmel <d.broemmel@fz-juelich.de>
|
||||
Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
|
@ -1623,6 +1623,7 @@ gfc_trans_omp_array_reduction_or_udr (tree c, gfc_omp_namelist *n, locus where)
|
||||
intrinsic_sym.attr.referenced = 1;
|
||||
intrinsic_sym.attr.intrinsic = 1;
|
||||
intrinsic_sym.attr.function = 1;
|
||||
intrinsic_sym.attr.implicit_type = 1;
|
||||
intrinsic_sym.result = &intrinsic_sym;
|
||||
intrinsic_sym.declared_at = where;
|
||||
|
||||
|
@ -1,6 +1,11 @@
|
||||
2017-12-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
Backported from mainline
|
||||
2017-11-24 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR fortran/81304
|
||||
* testsuite/libgomp.fortran/pr81304.f90: New test.
|
||||
|
||||
2017-11-23 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR fortran/81841
|
||||
|
17
libgomp/testsuite/libgomp.fortran/pr81304.f90
Normal file
17
libgomp/testsuite/libgomp.fortran/pr81304.f90
Normal file
@ -0,0 +1,17 @@
|
||||
! PR fortran/81304
|
||||
! { dg-do run }
|
||||
! { dg-options "-Wsurprising" }
|
||||
|
||||
program pr81304
|
||||
integer :: i
|
||||
real, dimension(1:3) :: a, b, c
|
||||
a = 128
|
||||
b = 0
|
||||
!$omp parallel do reduction(min: a) reduction(max: b) private (c) ! { dg-bogus "Type specified for intrinsic function" }
|
||||
do i = 1, 16
|
||||
c = (/ i, i - 5, i + 5 /)
|
||||
a = min (a, c)
|
||||
b = max (b, c)
|
||||
end do
|
||||
if (any (a /= (/ 1, -4, 6 /)) .or. any (b /= (/ 16, 11, 21 /))) call abort
|
||||
end
|
Loading…
Reference in New Issue
Block a user