[Bug fortran/83664] New: Eoshift accepts missing boundary for non-default types
tkoenig at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jan 3 10:10:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83664
Bug ID: 83664
Summary: Eoshift accepts missing boundary for non-default types
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: tkoenig at gcc dot gnu.org
Target Milestone: ---
The following code is invalid:
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)
print *,b%x
end program main
To quote from the F2003 standard:
BOUNDARY
shall be of the same type and type parameters as ARRAY and shall be scalar
(optional)
if ARRAY has rank one; otherwise, it shall be either scalar or of rank n − 1
and of shape (d1, d2 , ..., dDIM−1 , dDIM+1 , ..., dn). BOUNDARY may be
omitted for the types in the following table and, in this case, it is as if it
were
present with the scalar value shown.
(the table then shows Integer, Real, Complex, Logical and Character).
More information about the Gcc-bugs
mailing list