<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/123362>123362</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Static initialization failure when the `constant-expr` is an array of derived type.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
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:
```
PROGRAM main
IMPLICIT NONE
TYPE :: DT
CHARACTER(38) :: C = "1234567890abcdefghijklmnopqrstuvwxyz "
CHARACTER(16) :: C1= "543210 abc ABC "
END TYPE
TYPE (DT), PARAMETER :: X(4,4) = DT()
!TYPE (DT), PARAMETER :: X = DT() !! Works fine.
INTEGER(KIND(VERIFY(STRING=X%C, SET=X%C1, KIND=1))) :: &
&TI1(4,4)=VERIFY(STRING=X%C, SET=X%C1, KIND=1)
end
```
Flang currently failed to compile the above code as
```
error: Semantic errors in a4.f
./a4.f:13:16: error: Must be a constant value
&TI1(4,4)=VERIFY(STRING=X%C, SET=X%C1, KIND=1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
The code seems standard conforming. All ifort, gfortran and XLF compile the code successfully. If `X` is scalar instead of an array, Flang compiles it fine.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy8VEGP4yYY_TXk8mki8xE78cEHr-1Mo-5kRxmrnT1iGyfsEkgBZzb76yuYpJ3ZXqqq2gjFgPge7z0ecOfkXgtRkPQDSesZn_zB2KLmWgpVVQehZ50ZLkVltJODsOAPAkajlHmReg-9GQRhJUliy5JrS0qAx92n-135AHDkUseZzcPjx021aWH7adu8lgC0nx8bCBCshLqNUwDVL-WurNpmR3DFVgTz24oKCKuBIFJkizRbrvKEd_0gxv1Bfvmqjtqc_rDOT-eXb5fvEBYGxLdwNHsLR69w6YIhTQB410P5oboVQrOtI8P3bHFVtwRzghU8lrvyoWmb3Q3ymeBqQbBavG5TB1EYJMR6gvRfQLyrg_gjSAlS-N3Yrw5GqcX8RmmzbZv7KO3XzbYmuPqt2W3WnwmuntrdZntPWP1MMK3CVk9NexvSMI4VrKaRSf7GGIJZACeYtRv6RhFh9X-ET0qhhx9CQpJyrXiI0WSt0F5dYORSiQG8gd4cT1KJGDjembOIYQPufgAR1hobOD-JI9de9hBnHEgNfDEfSVLOCa5jl5WUhb8srP-r8GFyHjoBHHqjnefaw5mrSfzvDgBJm5_X_uF1e7h66IQ4OghKB26HoHo09ij1fg6lUiBHY31gvw8dyzVwPcDzx_W7M3lFmvpeODdOSl3msBmBZMkzyRKQDlzPFbcgtfOCD2BGCEjW8kvAvh78K6AD6V9TPRsKNuQs5zNR0CVbUszzNJ0dCtGxPOPJwJfLLMdhHMSyE6ts2SMb6IImM1lggmlC6ZJmSZrSebYSdBQ0yfrFyNNsJItEHLlUc6XOx7mx-5l0bhIFRcYynCneCeXiO4g4BnaElaM12ofgIobX0Rah9q6b9o4sEiWdd3-jeelVfEejNJLW8OR5yKPU0kuu5HfupdEx4pMV8HIQOjpJsuQWvDvx7WSv_t3cCs4NwspzuBeXk5jPJquKg_cnF24rrgmu99Ifpm7emyPBdWB0_dydrPkiek9wHcU6guur3nOBfwYAAP__tNurWQ">