re PR fortran/68560 (The test gfortran.dg/shape_8.f90 now fails when compiled with -flto)
2018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/68560 * trans-intrinsic.c (gfc_conv_intrinsic_shape): New function. (gfc_conv_intrinsic_function): Call it. 2018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/68560 * gfortran.dg/shape_9.f90: New test. From-SVN: r257462
This commit is contained in:
parent
52b16cb3d4
commit
82e259b893
4 changed files with 47 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
PR fortran/68560
|
||||
* trans-intrinsic.c (gfc_conv_intrinsic_shape): New function.
|
||||
(gfc_conv_intrinsic_function): Call it.
|
||||
|
||||
2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/82049
|
||||
|
|
|
@ -5592,6 +5592,22 @@ gfc_conv_intrinsic_ibits (gfc_se * se, gfc_expr * expr)
|
|||
se->expr = fold_build2_loc (input_location, BIT_AND_EXPR, type, tmp, mask);
|
||||
}
|
||||
|
||||
static void
|
||||
gfc_conv_intrinsic_shape (gfc_se *se, gfc_expr *expr)
|
||||
{
|
||||
gfc_actual_arglist *s, *k;
|
||||
gfc_expr *e;
|
||||
|
||||
/* Remove the KIND argument, if present. */
|
||||
s = expr->value.function.actual;
|
||||
k = s->next;
|
||||
e = k->expr;
|
||||
gfc_free_expr (e);
|
||||
k->expr = NULL;
|
||||
|
||||
gfc_conv_intrinsic_funcall (se, expr);
|
||||
}
|
||||
|
||||
static void
|
||||
gfc_conv_intrinsic_shift (gfc_se * se, gfc_expr * expr, bool right_shift,
|
||||
bool arithmetic)
|
||||
|
@ -8718,6 +8734,10 @@ gfc_conv_intrinsic_function (gfc_se * se, gfc_expr * expr)
|
|||
gfc_conv_intrinsic_minmaxloc (se, expr, GT_EXPR);
|
||||
break;
|
||||
|
||||
case GFC_ISYM_SHAPE:
|
||||
gfc_conv_intrinsic_shape (se, expr);
|
||||
break;
|
||||
|
||||
default:
|
||||
gfc_conv_intrinsic_funcall (se, expr);
|
||||
break;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2018-02-07 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
PR fortran/68560
|
||||
* gfortran.dg/shape_9.f90: New test.
|
||||
|
||||
2018-02-07 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/82049
|
||||
|
|
16
gcc/testsuite/gfortran.dg/shape_9.f90
Normal file
16
gcc/testsuite/gfortran.dg/shape_9.f90
Normal file
|
@ -0,0 +1,16 @@
|
|||
! { dg-do run }
|
||||
! { dg-require-effective-target lto }
|
||||
! { dg-options "-flto" }
|
||||
! Check that there are no warnings with LTO for a KIND argument.
|
||||
!
|
||||
program test
|
||||
implicit none
|
||||
real, allocatable :: x(:,:)
|
||||
|
||||
allocate(x(2,5))
|
||||
if (any(shape(x) /= [ 2, 5 ])) call abort
|
||||
if (any(shape(x,kind=1) /= [ 2, 5 ])) call abort
|
||||
if (any(shape(x,kind=2) /= [ 2, 5 ])) call abort
|
||||
if (any(shape(x,kind=4) /= [ 2, 5 ])) call abort
|
||||
if (any(shape(x,kind=8) /= [ 2, 5 ])) call abort
|
||||
end program test
|
Loading…
Add table
Reference in a new issue