<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63198>63198</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] Crash on nested PDT with len parameter
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ashe2
</td>
</tr>
</table>
<pre>
Running `flang-new` on the source file below results in an illegal instruction:
```
$ flang-new test.f90
flang-new: error: unable to execute command: Illegal instruction: 4
flang-new: error: flang frontend command failed due to signal (use -v to see invocation)
flang-new version 17.0.0 (git@github.com:llvm/llvm-project.git 02ce49afb9a078932c74f4d9b43189a5567e54e9)
Target: x86_64-apple-darwin22.5.0
```
It appears to be infinite recursion in `FoldOperation(FoldingContext &, TypeParamInquiry &&)`
Source file:
```
subroutine test
implicit none
type Part(dim)
integer, len :: dim
end type
type Collection(dim)
integer, len :: dim
type(Part(dim)) :: parts
end type
integer :: len = 10
type(Collection(len)) :: c
end subroutine
```
This is based on an example from the Fortran discourse:
https://fortran-lang.discourse.group/t/working-with-parameterised-derived-type-containing-array-of-parameterised-derived-type/5823
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVEtv8zYQ_DX0ZSFBoh6RDjqkCQTk1KDNvaDElbwtRap82PG_Lyi_6iAIPsOQzeVqZna5HOEczRqxY9VvrHrdieD3xnbC7ZHvBiNP3R9Ba9IzsDqblNBzovHI6gyMBr9HcCbYEWEihTCgMkew6ILyDkiD0EBK4SwUkHbehtGT0ax4Ztkry67POrt8z0tewo0IPDqfTu1l7y6geAa01tj4J2gxKARvAD9xDB5hNMsitIybb9_yQ_kT4BaFyRrtUcsrGkyCFEqQYeOKfRMKGG-CQ0gOWwwRSB_MKDYe3n5hgQNaR0ZD_pRmaRZfnsmzMpvJ78OQjmZhxbNSh4XxPv4kqzV_4-jTmTxkfMSyFdPQiuypaQs-PpVTKduhLPKmFVVVP2FVYnvj_RB2Rh8r-mzqv-oyEeuqMJHCHklznlZp9v0RbM83D2JdUVgXSxtiZRNp8ggWx3Cug3Sci94o-fuK9lJ1E9ek55fYv08PjNeMv8DHacV3YcXypv8NZE_neB3VPhL_eR-p-6g8KnRhsCZ40rhNyDkIAEDLqmgkD9povIf9aUV4F9Yz3khabh2Cy4e0xxltlKlQQ6QtniFm3tLiJESYL6AvRikcL4X_AjTAt-hXPMabR5m8veavwnr3k54L0zX_XMgr5JeeXfEfFCvUjyzjOTmi35v8w5R87MkBORiEQxlNQWjAT7GsCuMNWjaT6I31VmiQ5EYTrLufK-y9X11c8p7xfjonJvHCpLfsdLYmrIz3nvH-aOw_pOfkSH6frHGe0KMlhzKRaOmAMomFJqPRXlC0rkRYK06JmX5IZ7yvGl6cRe1kV8i2aMUOu7xual7mTd7u9l01TnKsx7qqqiKv8rriJeZDWdTNICWv5Y46nvEiq7Mmr4ssL9PiqZJymPKS8zKXomRlhosglcbbnRo778i5gF1d5G2zU2JA5TYv5jz6xbbJOI_WbLvNEYYwO1Zmipx3dxRPXm0mvnkNq17hxQq3jwei0XmU8P76AbFn21zcGrELVnWPZ_A_Lzqb0BcvYrzfZDnG-032fwEAAP__e0fwZw">