http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47349
Summary: missing warning: Actual argument contains too few
elements
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: [email protected]
ReportedBy: [email protected]
Test case:
implicit none
type t
integer :: j(3)
end type t
type(t) :: tt
integer :: i(3) = (/ 1,2,3 /)
tt%j = i
call sub1 (i) ! Warning: Actual argument contains too few elements
call sub1 (tt%j) ! <- XXX (no warning!)
call sub2 (i) ! Error: Rank mismatch in argument
call sub2 (tt%j) ! Error: Rank mismatch in argument
contains
subroutine sub1(i)
integer, dimension(1:3,1:3) :: i
print *,"sub1:",i
end subroutine
subroutine sub2(i)
integer, dimension(:,:) :: i
print *,"sub2:",i
end subroutine
end
For the line marked "XXX" one should get the same warning as for the line
above. Errors are only mandatory for assumed-size dummies (thrown correctly for
both cases), cf. F08:12.5.2.4.