[PATCH] Add support for OpenMP fortran user defined reductions
Andreas Schwab
schwab@linux-m68k.org
Sat Jun 7 08:11:00 GMT 2014
Jakub Jelinek <jakub@redhat.com> writes:
> --- gcc/testsuite/gfortran.dg/gomp/udr6.f90.jj 2014-06-02 10:49:02.674337338 +0200
> +++ gcc/testsuite/gfortran.dg/gomp/udr6.f90 2014-06-02 15:40:52.664740529 +0200
> @@ -0,0 +1,205 @@
> +! { dg-do compile }
> +! { dg-options "-fmax-errors=1000 -fopenmp -ffree-line-length-160" }
> +
> +module udr6
> + type dt
> + integer :: i
> + end type
> +end module udr6
> +subroutine f1
> + use udr6, only : dt
> +!$omp declare reduction (+:integer:omp_out = omp_out + omp_in) ! { dg-error "Redefinition of predefined" }
> +!$omp declare reduction (+:real(kind=4):omp_out = omp_out + omp_in) ! { dg-error "Redefinition of predefined" }
> +!$omp declare reduction (+:double precision:omp_out = omp_out + omp_in) ! { dg-error "Redefinition of predefined" }
> +!$omp declare reduction (+:integer(kind=8),integer(kind=1) & ! { dg-error "Redefinition of predefined" }
> +!$omp & :omp_out = omp_out + omp_in)
> +!$omp declare reduction (+:complex:omp_out = omp_out + omp_in) ! { dg-error "Redefinition of predefined" }
> +!$omp declare reduction (+:complex(kind=16):omp_out = omp_out + omp_in) ! { dg-error "Redefinition of predefined" }
udr6.f90:17:42: Error: Kind 16 not supported for type COMPLEX at (1)
udr6.f90:41:42: Error: Kind 16 not supported for type COMPLEX at (1)
udr6.f90:58:42: Error: Kind 16 not supported for type COMPLEX at (1)
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Gcc-patches
mailing list