<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/154178>154178</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] Inconsistency when use BOZ constant to initialize a real(8) type array or scalar
</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 reducer:
```
implicit none
real(8) vreal1(2), r1, r2
vreal1 = (/ z'3FF4003D80049C48', z'3FF4003D80049C47'/)
r1 = z'3FF4003D80049C48'
r2 = z'3FF4003D80049C47'
print*, vreal1(1)
print*, vreal1(2)
print*, r1
print*, r2
end
```
Flang outputs
```
> a.out
-2147181496.
-2147181497.
1.2500586510375502
1.25005865103755
```
It seems inconsistent as the same BOZ constant result differently between array and scalar.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx0U09vuzgQ_TTmMiqyBxybA4c0WaSe9r43A0PilWNHtmmVfvqVSbRV82slBJp58_cxz6RkT56oZ_KVyWNl1nwOsT8ab8kdDmfy1RjmW38IPtmZIuQzwRKcCx_WnyDSvE4UWbNnfM92_PHwPQCAvVydnWwGHzwV_O6OZBxDrRl28F4MwVAjw47hAaLY3vgVfg8B1hyBoWY4wCdD1QxDy3lz1Jy33aHVDFVJ_AFSGzSU-o_-92K_VXkE4W9B6h7E-P4arc8M96Xx_4uIe6MfMbxjT3AUzw7chiA_P5HK-H5wxp8grPm65vQMN3-BqcOaS_oLilYJLdpuV3-31WaLGiXnUu-k4I2SkuNP3j8HeMuQiC4JrJ_KTaRMPoNJ22EkcyF4_fsfKFA2PkOktLoMs10WiuSzu8FI-YPIg4nR3MD4GdJknIl1NffN3DWdqagXSkrZYsd31blvFzVJjmIcNYlWyW6neDsSn1HNO9wtle2Ro-RaaKFbjbJWZsHJzMvULaOQZmEtp4uxrnbu_VKHeKpsSiv1QrZC6cqZkVzaNIC4FIpZs19i8Ln8BMSijNiX3JdxPSXWcmdTTl_Vss1u09A9WR7h7Yue6QYfZ_KwpidycgDrbbbG2U8C800Z-XalB0UhPhiq1uj6c87XVARXbno42Xxex3oKF4ZDGefxebnG8C9NmeGwbZoYDo9l33v8LwAA__8SqSI8">