re PR fortran/36590 (internal error: Can't convert LOGICAL(1) to LOGICAL(1))

2008-07-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36590
	PR fortran/36681
	* iresolve.c (resolve_mask_arg):  Don't convert mask to
	kind=1 logical if it is of that type already.

2008-07-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36590
	PR fortran/36681
	* gfortran.dg/count_mask_1.f90:  New test.

From-SVN: r137355
This commit is contained in:
Thomas Koenig 2008-07-02 14:36:58 +00:00
parent 795a337af6
commit 04f2b60625
4 changed files with 22 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2008-07-02 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/36590
PR fortran/36681
* iresolve.c (resolve_mask_arg): Don't convert mask to
kind=1 logical if it is of that type already.
2008-06-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/36341

View file

@ -106,7 +106,7 @@ resolve_mask_arg (gfc_expr *mask)
/* In the library, we access the mask with a GFC_LOGICAL_1
argument. No need to waste memory if we are about to create
a temporary array. */
if (mask->expr_type == EXPR_OP)
if (mask->expr_type == EXPR_OP && mask->ts.kind != 1)
{
ts.type = BT_LOGICAL;
ts.kind = 1;

View file

@ -1,3 +1,9 @@
2008-07-02 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/36590
PR fortran/36681
* gfortran.dg/count_mask_1.f90: New test.
2008-07-02 Ira Rosen <irar@il.ibm.com>
* gcc.dg/vect/costmodel/spu/costmodel-vect-iv-9.c: Add noinline

View file

@ -0,0 +1,8 @@
! { dg-do run }
! PR 36590, PR 36681
program test
logical(kind=1),parameter :: t=.true.,f=.false.
logical(kind=1),dimension(9) :: hexa,hexb
data hexa/f,f,t,t,f,f,f,t,f/,hexb/f,t,f,f,f,t,t,f,f/
isum=count(hexa(1:9).eqv.hexb(1:9))
end program