File: implicit_argument_casting_03.f90

package info (click to toggle)
lfortran 0.59.0-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 56,736 kB
  • sloc: cpp: 168,052; f90: 74,272; python: 17,537; ansic: 7,705; yacc: 2,345; sh: 1,334; fortran: 895; makefile: 37; javascript: 15
file content (18 lines) | stat: -rw-r--r-- 624 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
! Test function argument type mismatch with implicit interface
! When calling an external function with integer(8) argument where it expects
! integer(4), the value should be converted when --implicit-argument-casting is set
program functions_54
    implicit none
    integer(8) :: n8
    integer(4) :: result
    integer(4), external :: external_test_func

    n8 = 5
    result = external_test_func(n8)  ! Passing integer(8) to function expecting integer(4)
    if (result /= 10) error stop
end program

integer(4) function external_test_func(n)
    integer(4), intent(in) :: n
    external_test_func = n * 2
end function