<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">