<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">