xref: /llvm-project/flang/test/Semantics/call22.f90 (revision 19afc495dc2797803b3da7f0797f214483215bb8)
1*19afc495Speter klausler! RUN: %python %S/test_errors.py %s %flang_fc1
2*19afc495Speter klausler! Enforce array conformance across actual arguments to ELEMENTAL
3*19afc495Speter klauslermodule m
4*19afc495Speter klausler contains
5*19afc495Speter klausler  real elemental function f(a, b)
6*19afc495Speter klausler    real, intent(in) :: a, b
7*19afc495Speter klausler    f = a + b
8*19afc495Speter klausler  end function
9*19afc495Speter klausler  real function g(n)
10*19afc495Speter klausler    integer, value :: n
11*19afc495Speter klausler    g = sqrt(real(n))
12*19afc495Speter klausler  end function
13*19afc495Speter klausler  subroutine test
14*19afc495Speter klausler    real :: a(3) = [1, 2, 3]
15*19afc495Speter klausler    !ERROR: Dimension 1 of actual argument (a) corresponding to dummy argument #1 ('a') has extent 3, but actual argument ([REAL(4)::(g(int(j,kind=4)),INTEGER(8)::j=1_8,2_8,1_8)]) corresponding to dummy argument #2 ('b') has extent 2
16*19afc495Speter klausler    print *, f(a, [(g(j), j=1, 2)])
17*19afc495Speter klausler  end subroutine
18*19afc495Speter klauslerend
19