<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/130534>130534</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Compile error when scalar-int-constant-expr expression specified for KIND= of intrinsic-type-spec in data-component-def-stmt 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>
ohno-fj
</td>
</tr>
</table>
<pre>
```
Version of flang : 21.0.0(8c7c791284877e36f73c41ffa56b52c13e613993)/AArch64
```
In `data-component-def-stmt` of `derived type`, `scalar-int-constant-expr expression (k3/k1)` specified for `KIND=` of `intrinsic-type-spec` results in a compilation error.
According to the `Fortran Standard 2023: 7.5.4.1 Component definition statement`, only `scalar-int-constant-expr` can be specified in `KIND=`, so there should be no problem with the attached program.
The following are the test program, Flang, Gfortran and ifx compilation/execution result.
FT_PDT_utf32_04_2.f90:
```fortran
program main
type ty(k1,k2,k3)
Integer,kind :: k1,k2,k3
character(kind= k2**1,len = k1+k2+k3) :: ch0(k2*k1,k3)!ok
character(kind= k1*k1,len = k1+k2+k3) :: ch1(k2*k1,k3)!ok
character(kind= k3/k1,len = k1+k2+k3) :: ch2(k2*k1,k3)!ok
end type ty
type(ty(2,4,8)):: obj
print*,'PASS'
end program main
```
```
$ flang FT_PDT_utf32_04_2.f90
error: Semantic errors in FT_PDT_utf32_04_2.f90
./FT_PDT_utf32_04_2.f90:6:22: error: Must be a constant value
character(kind= k3/k1,len = k1+k2+k3) :: ch2(k2*k1,k3)!ok
^^^^^
$
```
```
$ gfortran FT_PDT_utf32_04_2.f90; ./a.out
PASS
$
```
```
$ ifx FT_PDT_utf32_04_2.f90; ./a.out
PASS
$
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0VU1v5DYM_TWai2BDlvw1Bx-cTF0sihYLJOg1kGV6rMSWBpKcj39fUOPZTRbJZouigeGMJfJRfHokpff6aAAaUlyR4rCTa5isa-xkbDLe73o7vDSkZNvD2r_BeW0NtSMdZ2mOlIiW8ixlKSO8rlWlqn3G67yuKhDlWAmVZ-Moi7IvuMoElJnY7wXhe8K7tnVqKnPC2tcRCGu_GEpKNsggE2WXkzVgQjLAmPiwBFIyjI4G4PQjDDS8nAB9-TWueiVn6RJtQqKs8UGakMDzyVF8gY-nJ7x-EIR3DxmepGTUn0DpUcNAR-sQ5Y8vfx2IOHwPpk1w2nitEgyXoANuOvDrHDzVhkqKh9WzDBgCnLMuPefTKmXdoM2RBkvDBIjXWRecNPQmSDNIN1DOuEAyq7RI8zSj15fM6QCjNjqi-iADLGDClq8188vPksYjKmloD69S1OZthgjk48EcUD_ZdR7QwVh6crafYaFPOkzx4DIEqSYYcOfo5LIlSFh7OwEd7TzbJ8xTOoj2AXy42GKYDjWDP34ft_ylGagen19zR3gHz6DWmPGZ4C1Od3v39XB7t4ZR8DuW3_F03DMi2tcS2oAJa7e4dJEaP2kUCg0vePsZ4dcPHF9RjLhLKf1iAhzB4bI2A0Vx45W8sWYtVZN0UgU0rNGQiAPF7ZbwFk1nMDSuZYRf4cZVjHKBUxPWSnQ4I5_rIbMPH4JnF9tPobN_C32pg8-h-U-gKZjhG7-sPdckryPZSFxO-HUdHfYbnu3vo-PJaRMid9eEV1_bmxvCK8JaBPzhBn9oE28-eb41pPc1wtpYkBj4BhZpglbnEo2l-5FPSnj3keZKIlrOEfAb8p-rD1g52AnORUgf5bzCRV70f72Bd_9I8dubJzL1OZXHS3l-kP0VRWpkateAseOt_SI0Fvt_R90NjRj2Yi930GRVnhVlXZd8NzWQ53kBQyF4VheV7Ash-74SeymKqi-B7XTDGS-YyBjLWJVnaZ5LkcthYFzVe5AjyRksUs_pPD8uqXXHnfZ-hSYTrBD5bpY9zD7OS86j5IhoR2dNADMQznGKugZ9k349epKzWfvgv6MFHeY4b8_NsDjEVq9nOAuJPk1g6K9MsbdDa-vnOK7emVWo8g8GKnq8HqW71c3NFMLJo-54R3h31GFa-1TZhfAOE9n-JSdn70EFwrvIkSe822h6bPg_AQAA__-mRHOf">