Вот пример кода:
! Author: Svetlana Tkachenko [email protected]
! License: GPLv3 or later
subroutine myprint(var)
! integer :: var
! print *, 'Hi, my ', var
end subroutine
module testing
type triangle
integer :: point(3)
end type
end module
program main
use testing
type(triangle) :: mytriangle
mytriangle%point(1)=5
call myprint(mytriangle%point(1))
end program
он отлично работает с ifort -c file.f90
, но ifort -warn all -c file.f90
приводит к ошибке:
blah.f90(4): warning #6717: This name has not been given an explicit type. [VAR]
subroutine myprint(var)
-------------------^
blah.f90(4): remark #7712: This variable has not been used. [VAR]
subroutine myprint(var)
-------------------^
blah.f90(19): error #6633: The type of the actual argument differs from the type of the dummy argument. [POINT]
call myprint(mytriangle%point(1))
---------------------------^
compilation aborted for blah.f90 (code 1)
Почему -warn all
выдает ошибку? В справочной странице конкретно указано, что all
не включает ошибки.
Я знаю, что мог бы просто исправить код, но я пытаюсь настроить набор тестов для устаревшей базы кода и хочу иметь возможность запускать тесты компиляции с предупреждениями, прежде чем я начну вносить изменения в код.
var
неявноreal
в подпрограмме... - person Vladimir F   schedule 02.03.2016