<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/131548>131548</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Preprocessor does not work correctly in int-literal-constant
</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 : 21.0.0(74ca5799caea342ac1e8d34ab5be7f45875131b2)/AArch64
```
Preprocessor does not work correctly in `int-literal-constant`.
When I look at the file (`snggo785_2.i`) processed by the preprocessor, lines 3 is processed correctly, but line 4 is not.
The following line:
```
print *,1_n
```
Expect to translate as follows
```
print *,1_k
```
The following are the test program, Flang, Gfortran and ifx compilation/execution result.
snggo783_2.F90:
```fortran
program main
#define n k
parameter(n=4)
print *,1_n
end program main
```
```
$ flang snggo783_2.F90 -save-temps
error: Semantic errors in snggo783_2.i
./snggo783_2.F90:4:17: error: Parameter 'n' not found
print *,1_n
^
$
$ cat snggo783_2.i
#line "./snggo783_2.F90" 1
program main
parameter(k=4)
print *,1_n
end program main
$
```
```
$ gfortran snggo783_2.F90 -save-temps
snggo783_2.F90:4:13:
4 | print *,1_n
| 1
Error: Missing kind-parameter at (1)
$
$ cat a-snggo783_2.f90
# 1 "snggo783_2.F90"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "snggo783_2.F90"
program main
parameter(k=4)
print *,1_n
end program main
$
```
```
$ ifx snggo783_2.F90 -P
$
$ cat snggo783_2.i90
# 1 "snggo783_2.F90"
program main
parameter(k=4)
print *,1_k
end program main
$
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUlVFvqzgThn_N5GYEMmMIcMEFX9t82ouVKu1q97IyYBKfGjuyTU_771cmtJsmOed0o0ghMMy8zztjW3iv9kbKBor_QXG_EXM4WNfYg7HJ-G3T2eGtgS1bv6z9SzqvrEE74qiF2SPwFilLWcqAqjLvRVHWdS-k4DmJPpPVwHPRFZ0sx7yoyiLjWUdANdCubV1_2ObA2vMKwNpHJ4_O9tJ763Cw0qOxAb9b94y9dU72Qb-hMghbpkxItArSCZ301vggTIAtSxGBtX8fpMHfUFv7jCJgOEgclZYIVMGWebPf27IqnihVsTTVuFaVA3ZvS_jxTAnQHWplpEeOyp_FfmiKEd0clijMY5Cx4STlz1jbam2_K7NfAoC3F-SIR6dMQKAW6C57MhfPH16Psg8YLAYnjNciSBR-Tet_kez52ubPmoSTC3KQPkS4vRNTBNrFNseL_4_WxcIozIBqfMXeTkelRVDWAO3kq-zneI1O-lmH9FRkdZk_Ubqr2QX0mhFYuxbESagFm_ggx2ijwagcj8KJSQbpgCoD_D6PI3TbMmkGvEz3GfzTX8rXSf6sFBMvXmQS5HSM1krnrIuz_oechAmqx-WOj2N49qIC1qZAuyvqHHiblTHBR6bHdyQEKg1QuUz5aGczLMRXYHj1geLhhLCC9CJcqgHiyzgC0Q1hRJh9ZL407eP-mffPZ97_SOGtBtCNZX7Zhv37gP20E7et5etknTTkCOUd3hqO1bfybuF-eO_F78r7uAielRmSD964aQBV2Yn3s80iORMy1icGjlk0-srk84fA77pZ6ZAoA_zh-mFvp0mYITntEZcBt1Lf6tuPevbF9fKVdsUt4LJTjz8dx1-79F9Qrve3r5JshoYPNa_FRjZZmVNW5iXxzaGRGaurLpf1MFS8oi4rWZ_LosqIiXrMio1qiFHBeFayjAqiNM_KbVePvOx7Tvm2hpzJSSidav0ypdbtN8r7WTYZz4q82mjRSe2Xw5ZoPO2sFM9d18QXkm7ee8iZVj74f1MEFfRyQp_24uIev3pC3joeN7PTzSGEo49rhnZAu70Kh7lLezsB7WLZ9Sc5OvtN9gFot2B4oN1K8tLQPwEAAP__78VipQ">