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

    <tr>
        <th>Summary</th>
        <td>
            Clang parses header names incorrectly as strings
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:frontend,
            accepts-invalid,
            rejects-valid,
            diverges-from:gcc,
            diverges-from:msvc,
            diverges-from:edg
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          hubert-reinterpretcast
      </td>
    </tr>
</table>

<pre>
    Clang does not use the _header-name_ grammar (https://eel.is/c++draft/lex.header#nt:header-name) when parsing the quoted form of header name. Instead, it appears to accept string literals in place of a header name.

Clang fails to accept the following; GCC, EDG, and MSVC all accept (https://godbolt.org/z/ThaPrv9e9):
```cpp
#if __has_include("\")
#endif
```

### Source (`<stdin>`)
(as above)

### Compiler invocation
```
clang++ -fsyntax-only -std=c++26 -xc++ -
```

### Actual compiler output
```
<stdin>:1:19: warning: missing terminating '"' character [-Winvalid-pp-token]
    1 | #if __has_include("\")
      |                   ^
<stdin>:1:19: error: expected "FILENAME" or <FILENAME>
<stdin>:1:19: error: invalid token at start of a preprocessor expression
1 warning and 2 errors generated.
```

### Expected compiler output
(clean compile)

### Compiler version info (`clang++ -v`)
```
clang version 21.0.0git (https://github.com/llvm/llvm-project.git 41b572b99cd5f222330effa323af9c4da8d73e10)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/wandbox/clang-head/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/13
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/14
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/14
Candidate multilib: .;@m64
Selected multilib: .;@m64
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVs1u4zYQfhr6MpAhk5JtHXxQnHixQLcosIv2GIzIkcQuRaok5Th9-oKSk032J9iiFZRIImc-zs83M8YQdGeJDqy8YeXtCqfYO3_op4Z8zDxpG8mPnqLEEFeNU4-Ho0HbgXIUwLoIUyCIPcF9T6jIZxYHuofO4zCgB8b3fYxjYKJm_MT4icisdWD8JBm_YfxGeWwj4ydDl_WCwLiwkYn6BR7jFTz0ZGFEH7Tt5gP_mlwkBa3zA7gWFnFI4mt4b0MkVIwfQUfAcST0AaIDlJLGCCH6BGN0JI8mgLYwGpSUgPAVFMtrlteLzy1q8xIlWdE6Y9yDth0TN_DueExH3t2-Sw-0Cj58_P0IaMyTyjfx6JxqnIlr5zvGT38zfvrU42_-XFHFeJXE8ppt8-WW45g-udAt3N_3GO61lWZSxPiecc7KY_rPq0WIrNLtS_XFF8bFcsNHN3lJyaa0KY4hKm2ZuEtfV5A9BsDGnem68FL96IZRG_Kg7dlJjNrZr06TKWxLniFrw6ONeMmcNY-QhaiYuL2SgG8hu8gnwbdMrmWc0IB8OtpNcZzi1xovXBH1Jv2lSMIDejtnqoZBh4VI5AdtMaZ3xndz-HYge_QoI3lg5U32h7ZnNFpl45hF95ksK29ZXgMAbIDtjvBTCYH5SuLfXqy8e8Ns8t75-eUykkycZ5yf3v9y92v94Y5xDs4DE8fnFfFTYFenYPYIMNUE-rgUwOhp9E5SCM6nUz2FsGR38xTEmd18gQvQkSWPkdT6reTdPdn_nfTxvTSE9mnrLbqdySdrQNvWXcn7imjnL_z9movPunyzztd5p79XkTr2U7OWbkhtyZyfHtno3Z8k4zppFZum3PGmqqQqW865EDm1LQousK1koXCvdoI2Vzs-oe8o9TS47Lf32yKb7GfrHmxmtJ0uWWenJNR7QgWDU2SS6OiCvrC8Tr0MjSF1q-fEMX5yY2qZD2hV4y6plybfsn7ueKdGp0Sd3GQVSLRKK4yUWhPoBWmp1AVpCj65p5vkuJSMn64WfrGMnzbi_wYsWF5_JLOw4T8jHZ-NGiYTdVIRNayZuGFFPmxfHfZDiWeurNRBqEpUuKLDZlfw3bbal_tVf8CGSiHKalNWvCiLDVZ5sSNZFiUVQm1ppQ8852UuuOC8KDb7dbvd0n7XFrui4nle7lmR04DarBOfUstf6RAmOmwE3xZiZbAhE-ZRzPlCaVG33tlIVs2NJLWTZZKE7FrAz-ueEjtD9npV6TP5jkLWejcwUc-R_MHeEM4_3iTVzR3tduUPczk0UxdYkRsdYvjiUNTR0PU3QprWFF6O0zRppfOeZDSPgOE6iMNq8ubw78qQ8dMcvDATdI7f-cD_CQAA___f7rEk">