<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/113842>113842</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Value of component-part when component-part of derived type is uninitialized
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ohno-fj
</td>
</tr>
</table>
<pre>
```
Version of flang-new : 20.0.0(c2717a89b8437d041d532c7b2c535ca4f4b35872)/AArch64
```
This is for value of `component-part` when `component-part` of `derived type` is uninitialized.
When `component` of `derived type` inherited from parent has three nest levels, `the uninitialized value (ma)` does not seem to be initialized with 0.
The above program is `3-P-405-tas-extends01_131.f90`
However, for two nest levels, it seems to be initialized with 0.
The above program is `3-P-405-tas-extends01_132.f90`
The following are the test program, Flang-new, Gfortran and ifx compilation/execution result.
3-P-405-tas-extends01_131.f90:
```fortran
program main
type tp1
integer(kind=4) :: ma
integer(kind=4) :: mb = 3
end type tp1
type, extends(tp1) :: tp2
integer(kind=4) :: mc = 4
end type tp2
type, extends(tp2) :: tp3
integer(kind=4) :: md = 5
end type tp3
type(tp1) t1
type(tp2) t2
type(tp3) t3
print *, t1
print *, t2
print *, t3
end program main
```
```
$ flang-new 3-P-405-tas-extends01_131.f90; ./a.out
56 3
791621423 3 4
-1431655766 3 4 5
$
```
```
$ gfortran 3-P-405-tas-extends01_131.f90; ./a.out
0 3
0 3 4
0 3 4 5
$
```
```
$ ifx 3-P-405-tas-extends01_131.f90; ./a.out
0 3
0 3 4
0 3 4 5
$
```
3-P-405-tas-extends01_132.f90:
```fortran
program main
type tp1
integer(kind=4) :: ma
integer(kind=4) :: mb = 3
end type tp1
type, extends(tp1) :: tp2
integer(kind=4) :: mc = 4
end type tp2
! type, extends(tp2) :: tp3
! integer(kind=4) :: md = 5
! end type tp3
type(tp1) t1
type(tp2) t2
! type(tp3) t3
print *, t1
print *, t2
! print *, t3
end program main
```
```
$ flang-new 3-P-405-tas-extends01_132.f90; ./a.out
0 3
0 3 4
$
```
```
$ gfortran 3-P-405-tas-extends01_132.f90; ./a.out
0 3
0 3 4
$
```
```
$ ifx 3-P-405-tas-extends01_132.f90; ./a.out
0 3
0 3 4
$
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsV01v4zYQ_TX0ZWCDHOrzoIO3gdtjD4vtsaCkkcWtTBokbWf76wvKcmI7jpNsA_TSILCpMTnvvdHwgVTe67Uhqlj6haUPM7ULvXWV7Y2dd99ntW1_VCzj0z9_YHz5jZzX1oDtoBuUWc8NHYDJJSBf8AVnWDSYi1wVZV0kMm95ItpUYpPX2KQybVTSJbVMixwZlgxXy6Vr-iw5Jr_COn5-7bUH7aGzDvZq2FHEZhlv7GZrDZkw3yoXWMbh0JO5_ctxRUtO76mF8GNLMao97Iw2Omg16L-pXQAcIf-4TnQnh-nJ6UAtdM5uYKscmQC98hB6RwSGfICB9jR4hr_EDKGnS9hJFcNio2JRMg6tJQ_GBvBEGwgWaoLzFQcdeuBPfL_2BKq2e4Kts2unNlEay7ic_z5PeDoPys_pMZBpPRd_CikWXXld5t_sgfbkIslY6XCw19z1kY7_fD54g0_M0dlhsAdt1qAcQSxciJSmpJHT6tSD8eHXzrrglAFlWtDdI8T3pwcVtDUMV_RIzS6OwZHfDWFxDne_VHJ51aAT0jF6ErlReorA2B8QtuL0DADaBFrHChd_adMy-ZAwLOPeidtno949swYmH0Ce5pNpr9DOOcS6THoYFnHKc6awxWnqfcBmBExuAOLbgHgBKN-tsh1B0xug8hboSVoQL-Ijg4Av4nKMPzHaOm0CMFxGBc9pLsOnLJfRKUfk-LIXbpradRCTMzt9oxe_wILhSi3sLkxs0uypHfJSZCgSlCCf3thcJFJkaZpnWYyeisrwnu3eYLg-7a8PE3z-42fjE-eL2Nk4ub_6fOZPa4o28WE5t0S8g-Rbct8n4r6J_u9U73AqhuIDZjXO_phfjUs-y7LO2P471xoT_SfOha_vpGcTeDKszzemV_HvG9Nre_pned4zmzsl-jRis7aSbSlLNaNK5JLzXOSIs75qikSJpk3TsuO1UKJs6yJVRVakUsimpJmukGMiOOYosUhwwQtZt5R1SGXDpUpZwmmj9LAYhv1mYd16pr3fUSWELBKcDaqmwY_3DMSxXxhivHK4Ki6Y17u1ZwkftA_-OUXQYRgvJ-Mxj6UP8O10Abg84x-P_lcx28H5af3FcX-2c0PVh7D1cQ_jiuFqrUO_qxeN3TBcRRrT13zr7HdqAsPVKMszXE3K9hX-EwAA__91L40T">