<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/55811>55811</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang][Fortran 2003] unimplemented semantic checks: type bound procedure
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
PeixinQiao
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
PeixinQiao
</td>
</tr>
</table>
<pre>
```
function real_info1(i)
end
subroutine real_info2()
end
subroutine s()
interface
function real_info1(i)
end
subroutine real_info2()
end
end interface
type mt
complex :: c, c2(2)
integer :: x, x2(2)
character(10) :: s, s2(2)
contains
procedure, nopass :: info1 => real_info1
procedure, nopass :: info2 => real_info2
end type
type mt2
type(mt) :: t1(2)
end type
type mt3
type(mt2) :: t2(2)
end type
type mt4
type(mt3) :: t3(2)
end type
type(mt4) :: t(2)
call sub0(t%t3%t2%t1%info1(i))
call sub1(t%t3%t2%t1%info2) ! test this when remove the nopass
call t%t3%t2%t1%info2
call sub2(t%t3%t2%t1%info2) ! test this with nopass attribute
end
```
There are no semantic error for these four calls. Will add more details later.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVVE2PmzAQ_TVwsRoZO6ThwGHbNOdWqtRjZcwQ3Bo78sc2--87JsuSkE13KxmwPe-9-bCHxrZPdbahz4PuMvrQRSODsoY4EPqnMp0tMrZVGavOdjDteeJj42wMysAMZQj9J9JfAghRJoDrhIRpg5C3_CfMi3JavBnHgoHTW7_h6QhkCDNB2uGo4UQy_oCDyIx9JjLJsivdJHQAN8FOCXa6hcleOCHRJ1oKiqaJ4BPB3xCkNUEo42eFo7MS2uggEYw9Cu8njbFGuNhl_Mtl1d7LZTdcdlmrVJpFmdisPVrZFks3JxWKRT53ZPgrMuxSZ1mXOzrrV3T4pQ5_h87IWl-yrkgTVAqt05XDQ9wiokzaZQq0TFmXV_d1djixivusc-KsIAF8IKFXnvzpIbXBYB8BN-D56K4074otHLP_c6xCP10UEYJTTQywaOrFb-P8_t6DAyJcipV4GIQJShJwzjrS4YNZeMBZdGNkfkV-KAxQtC0ZLLJawGuvPdECe2WVtzVvK16JPKigoc7KT50W5pCVO5zurQtOGMIo5bhDolGpZQfAlmxn57IH-duPB5puS2MjHv5LR-TR6boP4ZgQGdvjOGDysVnhDwAXWj9Onw9I-gUSq7hX3kfA1t2X5bYo8r7mtOtkV1FRcsqLNV9XJZdSVA1raFHSNteiAe1TBhhqrmpGGaMbWiB2Q6vVx5avS4mLogXeVDRbU4xf6VVyvLLukLt6jKGJB49GrXzwsxHPSR0MjBXKGPsK6qTMNyUsLpI_EUNvXT3v52MG9Rj-X_Vrv1s">