mirror of
https://github.com/autc04/Retro68.git
synced 2024-09-28 18:56:06 +00:00
24 lines
719 B
Fortran
24 lines
719 B
Fortran
! { dg-do run }
|
|
! { dg-options "-Wcharacter-truncation" }
|
|
! Tests the fix for PR31266: references to CHARACTER
|
|
! components lead to the wrong length being assigned to substring
|
|
! expressions.
|
|
type data
|
|
character(len=5) :: c
|
|
end type data
|
|
type(data), dimension(5), target :: y
|
|
character(len=2), dimension(5) :: p
|
|
character(len=3), dimension(5) :: q
|
|
|
|
y(:)%c = "abcdef" ! { dg-warning "in assignment \\(5/6\\)" }
|
|
p(1) = y(1)%c(3:) ! { dg-warning "in assignment \\(2/3\\)" }
|
|
if (p(1).ne."cd") STOP 1
|
|
|
|
p(1) = y(1)%c ! { dg-warning "in assignment \\(2/5\\)" }
|
|
if (p(1).ne."ab") STOP 2
|
|
|
|
q = "xyz"
|
|
p = q ! { dg-warning "CHARACTER expression will be truncated in assignment \\(2/3\\)" }
|
|
if (any (p.ne.q(:)(1:2))) STOP 3
|
|
end
|