<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/108571>108571</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] disallows derived type parameters in pure routines
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
qhill
</td>
</tr>
</table>
<pre>
This code:
```Fortran Free Form
PROGRAM FlangTest
IMPLICIT NONE
TYPE Point
INTEGER :: x, y
END TYPE Point
PRINT *, IsOrigin(1,1)
CONTAINS
PURE LOGICAL FUNCTION IsOrigin(x,y)
INTEGER, INTENT(IN) :: x, y
TYPE(Point), PARAMETER :: origin = POINT(0, 0)
IsOrigin = x .EQ. origin%x .AND. y .EQ. origin%y
END FUNCTION IsOrigin
END PROGRAM FlangTest
```
produces a compile error only on new Flang (flang-new-18 from Ubuntu) but not in other Fortran compilers (at least gfortran, Intel)
```
./FlangTest.F90:13:29: error: 'origin' may not be a local variable in a pure subprogram
TYPE(Point), PARAMETER :: origin = POINT(0, 0)
^^^^^^
./FlangTest.F90:13:29: because: 'origin' is not a variable
TYPE(Point), PARAMETER :: origin = POINT(0, 0)
^^^^^^
./FlangTest.F90:13:29: Declaration of 'origin'
TYPE(Point), PARAMETER :: origin = POINT(0, 0)
^^^^^^
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzElE1vszgQxz-NuYyKYIAGDhzYBCqklmSz9LBHA07ilcGsbdrm269MXpq0u9IeHj2PhITlGf_nN3-_UK35fmAsJdFvJFo5dDIHqdK_D1wIp5HdMa0PXEMrO0aCjHgr4mXk0Tt9hVRG0QEKxRgUUvWn-Ga7ftpmL1AIOuxrps1pGqB82TyXy7KGal3l58n6z00OG8mHaxZAWdX5U74FWzHI4IPgEo6XcF6tvi26xDbbsqqBYGZXlHqt-J4PBGOf4NInmNxmL9dVnZXVH18UXrc5PK-fymX2DMVrtazLdXUrZWGOV6kb2rlkVedVTTAuK4LJv_PDTE8wPvFjYqObbJu95PVnz3KuByRYwWZdzpqeTfTuS5-55rwPcPPf3fNKgtEHuFm1cuH4Zf7Oye8t3thhE_5jM69n4M6-UcluapkGCq3sRy4YMKWkAjmII8gBBvZ-UgKC8c4OHgb2_uDHsFOyh9dmGsxkrWsmA4M0wAeQ5sAUXM7aWVdpq0ANCEa1gf3uFJ43YTBMfG72PahLsLi24haJR4LMD0iQYWJtn2ntgODiYtgCenqcYRoGFIRsqYA3qjhtBLOAFMZJMdBTMyq5V7T_4VtNovzr93-6aVhLJ82-9cP13A69dnFzF38d7Yq1gipquBxA7u6Ifw7f9ag4XRp0SZBQh6X-Ah8xiNGPnEMa7zAMPdb6mDSPtGu8EBcN2_lxG9EuaUOHp-hh6CV-4IfBYxS5XZfEMTZdG7Zt5LUNCT3WUy5cId56V6q9w7WeWOp7cbTwHUEbJvT8GCPO94Mg2ndZpXbBQzPtNQk9wbXRnxKGGzG_4LO7JFpBxzUVQr5r6Jjib6wDcxwZjFTRnhl7e_hwOrVKToYPTDuTEunBmFFbI7EgWOy5OUyN28qeYGGLnX8Po5J_sdYQLGZ4TbA487-l-E8AAAD__83nyJM">