<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/142327>142327</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Behaviour of quotation marks in C++-style when running clang cpp with `-traditional-cpp`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          myzhang1029
      </td>
    </tr>
</table>

<pre>
    Using the `-traditional-cpp` flag (or invoking as `cpp` directly), clang seems to be mis-parsing quotation marks inside C++-style comments.

Test code:
```c
// Test "double
// Try 'single
```
Command:
```
$CC -traditional-cpp -E test.c | cat
```
(piping through `cat` to separate `stderr` from `stdout`)

Output from `clang` (Homebrew clang version 20.1.6)
(omitting line number directives)
```
test.c:1:9: warning: missing terminating '"' character [-Winvalid-pp-token]
    1 | // Test "double
 |         ^
test.c:2:8: warning: missing terminating ' character [-Winvalid-pp-token]
    2 | // Try 'single
      |        ^
2 warnings generated.

// Test "double
// Try 'single
```

The `invalid-pp-token` warning seems to be bogus.

Output from GCC (clean output)
```
// Test "double
// Try 'single
```

Honestly, since this seems to be a small issue, I am personally fine with this becoming a wont fix or a `FIXME` inside `test/Preprocessor/traditional-cpp.c`.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykVM2O4zYTfBr60rBAtyzZPujg8Y6_3cOH5JAguVJUS2KGPwpJeeI8fUBKk52fDbDAGgZsUd3s6urqEiGowRI1rHpg1aeNmOPofGPuf4_CDjuOp03runvza1B2gDgSsJpvoxedispZobdymljNoddiAIZH50HZm3tK4SKk6DWgU55k1HeGJ4YXkFrYAQKRCRAdtARGhe0kfC705-yiSAXACP8UQNmgOoILwweGD9sQ75pAOmPIxlAwfmb8_AuFCNJ1xMr0yGq-fGV6wCvDK-QQhti5udX06tzfgeEhlV6OX3IZP1-cMcJ27y7NufvLBd5zAdtHiBRiIYEdLiBF_JB2nNS0sOndPIyZIxETR9FBoEl4ETPPIXbkfWbXO7OeuDmFJhZz1z_NcZrjvwGZ1pTB8PjZGWo9Pa9c38iHxCjyYlfU6wV4dEbFmOBoZQnsbFry67DUjcIa96qBpTtWnnesPJ9YeYZn4a2yQ_prVFiUQt4oK_LFDA8MkeEB5Ci8kJE8sOph-5uyN6FVt52mbXRPZFn1ifEzAMAuk_dfU8svXz6senwNCll5Pn4fqO-Hg2_gvBPLCuMrpAURviAIMJClNNNuVeoPqDHpfFnCD2hr_lLxzVq1bphfVuS1WP53SR0dpSZhweUXH2f9Y0g_O0shr_wFgrKSII4qvEEnIBihNagQZkpxX0AYmMiHtFD6Dn1S5bOK45LbknQmews8OxuhV3-B8yASI9cvv___MdGwugWreZIFw-vPnibvJIXgPMPru5UtJKt5semasjuVJ7GhZnfYH4_lfl9Wm7HZY9_2-50UlTxIrPuOV2XV76q-bvmx76qNapBjxWuOvEReVsWhkrv61JVVS4hCINtzMkLpQuubKZwfNrndZrfHEg8bLVrSITsw4rLAiMmMfZMStu08BLbnWoUYvl4RVdTUPNAobsrNHlz_Ddd855jPI1nws80iWVwhWVam99u-vpm9bsYYp5AMME99UHGc20I6w_Ca4Kw_28m7P0gmvnN7geF17fDW4D8BAAD__9Xb988">