<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/95476>95476</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] C preprocessor can not be inside of statement
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
foxtran
</td>
</tr>
</table>
<pre>
With the following example,
```
! example
subroutine test( &
ARG1, &
! test
#ifndef SWAP
#define ARG1 FA
#define ARG2 FB
#else
#define ARG1 FB
#define ARG2 FA
#endif
ARG1, ARG2, &
! test
#undef ARG1
#undef ARG2
&ARG2)
! comment
end
```
flang-new fails with the following errors:
```
error: Could not scan test.f90
./test.f90:2:16: error: Unmatched '('
subroutine test( &
^
./test.f90:12:13: error: bad character ('&') in Fortran token
ARG1, ARG2, &
^
./test.f90:16:1: error: bad character ('&') in Fortran token
&ARG2)
^
./test.f90:16:6: error: Unmatched ')'
&ARG2)
^
```
Used version (after applying #95332, #93382):
```
$ flang-new --version
flang-new version 19.0.0git (https://github.com/llvm/llvm-project.git 41587739a63f7622c36715421d215f07d79f9a7d)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVNFu6ygQ_Rr8gmrZg43Dgx_Sdr2vq11d3WdshoRdAhHg9t6_X0HSRGnTrla6UYTl8ZxzZg4DMkazc4gj6R9J_1zJNe19GLX_kYJ01ezVz_G7SXua9ki1t9a_Grej-EMejhYJPJHmmTRbwpvz__QK7SWlBOI6B78m45AmjInAhhLgp2_bP39vCTxdAxldss5vzGinUNO_vm__uMQU6syWwXTa3gkDnR4vYbQR70Mf70OvjOiU0beV5pSvK15LwSX_QwjeQvzEI64ciz8c0J1p0Km75mor3e7B4SvV0thIX-9sTwg-RMK2dwnKV8K29MmvVlHnE42LdKWDWotzVk1gukTYFgjbtjyjLvBv7iDTskdFCQwENnktUEq_2m9K-t_uSrRFg91ozFLRZS-DXBIGehYBXlZBjaOTD3lSafL_oHuT_3Sj6M3v00Jyn-0vqOP9Hv-H5Jf2iqu9H2lv23l_Gsv6LaKiLxii8S43IHXuRB6P9mceGQJM9Iyd7WKCsU0R-GSGCHT0OogPD2fi9xP6pteKuqmbnUlZeZ_SsQwnTASmnUn7da4XfyAwWfvy9ng4Bv83LqnOqK7tN8PAhORMDxxgYXxo-w5aBW2vm0ENQgs5qOtpumdBpUamBBOywrEd2g1ru57zaj9yJVmz6aQcBux0s_QI86J5Nze9aLt5qMwIDXQNbxm0jDd9nd0SnRYc-gVRNqRr8CCNrXPptQ-7ysS44ij6buCVlTPaWO5YgOIOAcjXbRhLq_O6i6RrrIkpXhmSSbZczCdE_0yf6DHgMfgFY_SB5kObT--M1LhoFFKvaUwyYb5FqjXY8f95TWAqZUcC06nylxH-DQAA__-q-bSj">