Files
clang-p2996/flang/test/Semantics/resolve56.f90
Ivan Zhechev 6c1ac141d3 [Flang] Ported test_errors.sh to Python
To enable Flang testing on Windows, shell scripts have to be ported to Python. In this patch the "test_errors.sh" script is ported to python ("test_errors.py"). The RUN line of existing tests was changed to make use of the python script.

Used python regex in place of awk/sed.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D107575
2021-09-06 08:19:42 +00:00

68 lines
1.9 KiB
Fortran

! RUN: %python %S/test_errors.py %s %flang_fc1
! Test that associations constructs can be correctly combined. The intrinsic
! functions are not what is tested here, they are only use to reveal the types
! of local variables.
implicit none
real res
complex zres
integer ires
class(*), allocatable :: a, b
select type(a)
type is (integer)
select type(b)
type is (integer)
ires = selected_int_kind(b)
ires = selected_int_kind(a)
end select
type is (real)
res = acos(a)
!ERROR: Actual argument for 'x=' has bad type 'CLASS(*)'
res = acos(b)
end select
select type(c => a)
type is (real)
res = acos(c)
class default
!ERROR: Actual argument for 'x=' has bad type 'CLASS(*)'
res = acos(c)
end select
select type(a)
type is (integer)
!ERROR: Actual argument for 'x=' has bad type 'INTEGER(4)'
res = acos(a)
end select
select type(b)
type is (integer)
associate(y=>1.0, x=>1, z=>(1.0,2.3))
ires = selected_int_kind(x)
select type(a)
type is (real)
res = acos(a)
res = acos(y)
!ERROR: Actual argument for 'x=' has bad type 'INTEGER(4)'
res = acos(b)
type is (integer)
ires = selected_int_kind(b)
zres = acos(z)
!ERROR: Actual argument for 'x=' has bad type 'INTEGER(4)'
res = acos(a)
end select
end associate
ires = selected_int_kind(b)
!ERROR: No explicit type declared for 'c'
ires = selected_int_kind(c)
!ERROR: Actual argument for 'x=' has bad type 'CLASS(*)'
res = acos(a)
class default
!ERROR: Actual argument for 'r=' has bad type 'CLASS(*)'
ires = selected_int_kind(b)
end select
!ERROR: Actual argument for 'r=' has bad type 'CLASS(*)'
ires = selected_int_kind(a)
!ERROR: Actual argument for 'x=' has bad type 'CLASS(*)'
res = acos(b)
end