2018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/83664
* check.c (gfc_check_eoshift): Error for missing boundary if array
is not one of the standard types.
2018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/83664
* gfortran.dg/eoshift_7.f90: New test.
From-SVN: r256171
+2018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/83664
+ * check.c (gfc_check_eoshift): Error for missing boundary if array
+ is not one of the standard types.
+
2018-01-03 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
return false;
}
}
+ else
+ {
+ switch (array->ts.type)
+ {
+ case BT_INTEGER:
+ case BT_LOGICAL:
+ case BT_REAL:
+ case BT_COMPLEX:
+ case BT_CHARACTER:
+ break;
+
+ default:
+ gfc_error ("Missing %qs argument to %qs intrinsic at %L for %qs "
+ "of type %qs", gfc_current_intrinsic_arg[2]->name,
+ gfc_current_intrinsic, &array->where,
+ gfc_current_intrinsic_arg[0]->name,
+ gfc_typename (&array->ts));
+ return false;
+ }
+ }
return true;
}
+2018-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/83664
+ * gfortran.dg/eoshift_7.f90: New test.
+
2018-01-03 Jan Beulich <jbeulich@suse.com>
* gcc.target/i386/avx512vl-no-vmovdqu8.c,
--- /dev/null
+! { dg-do compile }
+program main
+ type t
+ integer :: x
+ end type t
+ type(t), dimension(2) :: a, b
+ a(1)%x = 1
+ a(2)%x = 2
+ b = eoshift(a,1) ! { dg-error "Missing 'boundary' argument to 'eoshift' intrinsic" }
+ print *,b%x
+end program main