This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Add support for OpenMP fortran user defined reductions
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Andreas Schwab <schwab at linux-m68k dot org>
- Cc: gcc-patches at gcc dot gnu dot org, fortran at gcc dot gnu dot org
- Date: Mon, 9 Jun 2014 11:12:37 +0200
- Subject: Re: [PATCH] Add support for OpenMP fortran user defined reductions
- Authentication-results: sourceware.org; auth=none
- References: <20140602143544 dot GL10386 at tucnak dot redhat dot com> <m2fvjh3zs5 dot fsf at linux-m68k dot org> <20140607081850 dot GN10386 at tucnak dot redhat dot com> <m2bnu53z4c dot fsf at linux-m68k dot org>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Sat, Jun 07, 2014 at 10:25:23AM +0200, Andreas Schwab wrote:
> Jakub Jelinek <jakub@redhat.com> writes:
>
> > I thought complex(kind=16) is normal double _Complex, isn't it?
>
> No, that would be complex(kind=8).
Ah, I've mixed that with complex*16, which apparently is the
same thing as complex(kind=8).
Fixed thusly, committed as obvious:
2014-06-09 Jakub Jelinek <jakub@redhat.com>
* gfortran.dg/gomp/udr6.f90 (f1, f2, f3): Use complex(kind=8)
instead of complex(kind=16).
--- gcc/testsuite/gfortran.dg/gomp/udr6.f90.jj 2014-06-06 09:20:49.000000000 +0200
+++ gcc/testsuite/gfortran.dg/gomp/udr6.f90 2014-06-09 11:09:19.770485330 +0200
@@ -14,7 +14,7 @@ subroutine f1
!$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" }
+!$omp declare reduction (+:complex(kind=8):omp_out = omp_out + omp_in) ! { dg-error "Redefinition of predefined" }
interface operator(+)
function addf1 (x, y)
use udr6, only : dt
@@ -38,7 +38,7 @@ subroutine f2
!$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" }
+!$omp declare reduction (-:complex(kind=8):omp_out = omp_out + omp_in) ! { dg-error "Redefinition of predefined" }
end subroutine f2
subroutine f3
use udr6, only : dt
@@ -55,7 +55,7 @@ subroutine f3
!$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" }
+!$omp declare reduction (*:complex(kind=8):omp_out = omp_out * omp_in) ! { dg-error "Redefinition of predefined" }
end subroutine f3
subroutine f4
use udr6, only : dt
Jakub