<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/83612>83612</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Incorrect diagnose on SELECT TYPE type guard statement when the selector is of a PDT type.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
bug,
flang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
DanielCChen
</td>
</tr>
</table>
<pre>
Consider the following code:
```
MODULE M
TYPE :: Base(K1,N1) ! (4,20)
INTEGER, KIND :: K1
INTEGER, LEN :: N1
END TYPE
TYPE, EXTENDS(Base) :: DT ! (4,20)
PROCEDURE(ModFun2), PASS, POINTER :: ProcPtr2
END TYPE
CONTAINS
FUNCTION ModFun2(Arg)
CLASS(DT(4,*)) :: Arg
CLASS(DT(4,:)), ALLOCATABLE :: ModFun2
END FUNCTION
END MODULE
PROGRAM Final2
USE M
TYPE(DT(4,:)), ALLOCATABLE :: V
ALLOCATE(v, SOURCE=DT(4,20)(ModFun2))
SELECT TYPE ( As => v%ProcPtr2() )
type IS (DT(4,*))
END SELECT
END
```
Flang currently issues an error:
```
:29:12: error: Type specification 'dt(k1=4_4,n1=*)' must be an extension of TYPE 'dt(k1=4_4,n1=:)'
type IS (DT(4,*))
^^^^
```
The code seems conforming to me.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMlN-PqkYUx_-aw8vJNXAQgQceWMAbsy4axaZ9ahAGpcWZzcywt_vfN4Oga7vb3oSIcH59ON8zp1SqPXHGIvCewEutstdnIaO05C3rkuTMuHUU9XuUCK7amknUZ4aN6Drxo-UnrETNwI3BTsGOYWGP1_CI-LJJD-sMX0bz-Bax-G2boQlzY3wqFQMKnh2gJHeAQuMA5CBQMAdKyAYK76GIq7zIvmc7oASfV3k65Xl2vnBaZzlOTvkHpyxPB5DP4Exc9muR5ekeKLgihrcsafEfjNvdJsnSwy4DCl5Evew5GSMluI33--G-MXS7KdtWimqrJf0PWbLJi3iV7_-JuzzkSbHa5HgrFsTy9NCzZD1UDtJi5AWKB6ZwYjARY5l_-bqjr0GP1-tNEhfx0_qm31T2gX6CeoQ1lutIfHw_Wbe7zfdd_ILLlpfdLd9hf5ufSZqfZ_vlscLoYVK8mYj95rBLMnDTW8KrkI_ChY9J9tk6S4pxhCnAWCG4KbgZ4huQd1OTgqG_dx30-yvD1R4_FeJji64VHqpmefrpEbv-LrvSHMVeSsZ1946tUj1TWHJkUgr51fkEN6YQ3Ngh06vJFQvDqV5Z1TZtVepWcATyaw0U_OmAm85_N-Tc_J3wfbz0SuORDTX_0owrEyaaqU1fhI_y-ffh-ZkmgZfdr6-7UpzZsJ5QMXZRWAneCHkxS0sLvLCZVUduHbphabHI8e3QJfIXtnWOmorNbd-b-5XNyqAKq8bx3eDoB02zKBdOY7UR2TS3XdtxQo_m9sz3mT0PPHfhNWxBfg1zm13Ktpt13dtlJuTJGiSJAnfhkNWVR9apYeESHfsTEA1fSY3REdy4kYJrxmtj8FJLRibNt2N_UjC3u1ZpdU-sW90Ny3sYAvBSXPFKSMkqjXVbnrhQDAV_GNuhyae-lDUqXWp2YVzjjzPjw3JXrGOVFhJbZRQscZsWQ8jM6mUXnbV-VYNyS6DlqdXn_jirxAVoaaDG27dXKf5glQZaXqcRaDl8_d8BAAD__0GFsDo">