<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/134986>134986</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang][preprocessor] Preprocessor splits a token while preserving column
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Alf0nso
</td>
</tr>
</table>
<pre>
When preprocessing the following input file using
```
flang -E -o output.f90 input.F90
```
```fortran
! input.F90
subroutine sub(a, b, c, n)
print *, "HELLO "/&
&/" WORLD"
end subroutine sub
```
the file is preprocessed as
```fortran
subroutine sub(a, b, c, n)
print *, "HELLO "/ /" WORLD"
end subroutine sub
```
which is not valid Fortran input.
```
error: Could not parse output.f90
output.f90:2:24: error: expected end of statement
print *, "HELLO "/ /" WORLD"
^
```
For comparison, gfortran (`gfortran -cpp -E input.F90`), preserves the input lines (in this case the output is the same as the input).
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMVEFv4yoQ_jX4MkqEie3EBx_cptY7VOrTu_RM7HHMWwIWA-nuv1-NE7XZdrtbRIgH-Jj55mPQROboEBtR3olyn-kUJx-a1o7Skc8OfvjRPE_oYA44B98jkXFHiBPC6K31L2wZN6cIo7EIiZeFbLlX8tplO1rtjrB6gJUHn-Kc4nqs5QW47mr5bvutOfoQg3Y8pfJfEJQOwadoHAKlg1A7LdQ9HHjoeXBC1UK2MAfjIgjV8qRQ6p-Hx8cn_hCqE6riLZ81XuZNCp6f_nvcM0a26AZ45_tD-EuCOCGGblKHA2j6lN_F5VdZLe1P1Dj696G_Ar_C4WUy_cQEnI9w1tYM0F2CvcrwUWcMwQexaeHeJzsswFkHwhvRhWxvjE2r-Fcw5hWM32fsIw5LlH4EijriCV38m5q_o_y5tuXDR86dD9D706yDIe_YxfEqEAi1E5V8NVf9PPONfruRlWRp1D0LThjOSEudXKrDGofEZxgHcTIEvSZc1i_Z4DyzRfqEoG-QQtXrbGg2Q72pdYZNvi2KvFaqLLKpGWq51VU_Fju9lVtZ1VKVctgOcteXOq8xM43iqULWsi5lWax1X-XlmG_yXBVbvS1FIfGkjV1bez6tfThmhihhk2-KeldlVh_Q0vI6KLVUMWe13GehYcDqkI4kCmkNRXo7Ippolyflgij3orx7qwIfRLmHf29soNmaSKAh-m_o4GXi0rmmkV-Y3tt0clkKtplinEls2kXp7mjilA7r3p-E6tj_9W81B_8_9lGobuFDQnVXSudG_QwAAP__W1N3QA">