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

    <tr>
        <th>Summary</th>
        <td>
            clang-cl "/clang:" args not working with v17 build from main?
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    I work on the C/C++ Extension for VS Code.  We rely on the `/clang:` prefix in order to pass `gcc` args to `clang-cl`, to coax it into returning system include paths and system defines.  i.e.: `clang-cl.exe /clang:-xc++ /clang:-E /clang:-dM nul`

In the process of [assisting a dev working on Edge (chromium)](https://github.com/microsoft/vscode-cpptools/issues/11207), I discovered their process of building chromium involves snapping to a pre-release commit (in main, as per docs from Google), and that the latest builds from main no longer supports that syntax:

```
clang-cl.exe /clang:-xc++ /clang:-E /clang:-dM nul
clang-cl: error: unsupported option '-x c++'; did you mean '/TC' or '/TP'?
```

I'm not sure if this is a bug or intentional removal of this functionality.  But, without this or an alternative, the C/C++ Extension for VS Code would be unable to support automatically querying system include paths and system defines from `clang-cl`.  Could this get fixed/restored? By filing this issue, I'm hoping to head-off a large number of issues being opened against the C/C++ Extension for VS Code when LLVM 17 is released.

This is also how we support other compilers based on `clang-cl`, such as Intel's LLVM based compilers: `icx.exe`, `dpcpp.exe`, `cpcpp-cl.exe`

As a side note / bonus issue; We build `clang-tidy` and `clang-format` for distribution with the C/C++ Extension for VS Code.  I recently tried to build these out of main.  I noticed (at least as of commit `f763270`), that cross-compilation builds hosted on x64 macOS and targeting ARM64 macOS, were consistently hanging. This didn't repro when building from the version 16 release tag.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVkFv4zYT_TX0ZWBDphIpPvgQe9cfAuziK7qL7ZkiRxJbiqOSlGP_-2IoOeu0RbEFCgSxRHGGwzfvPVLFaDuPuBePB_H4YaWm1FPYH8mh74a4ashc9y_wSuE3IA-pRzgKeToKeRDyAB8vCX205KGlAN--wJEMbgB-QQjorrcQURVCnrRTvhPls6gKGAO29gLWAwWDARLBqGLkmZ3WPEOFLvKwqIocuNYupznyoCZ1AZvA-kQQME3BW99BvMaEA1iv3WQQRpX6CMqb2weDrfUYNwB2gxtRPt9n3-AF4a7M9UUvu7wf_PjuzXwGP-W6ig-ieJ7_v8ybHgNpjBGoBfF4YKBj4iIVGDxnRPmNPHw0HS_8pPtAg50GIXfi8YOQT31KY2TA5EnIU2dTPzUbTYOQp8HqQJHaJOTpHDUZXOtxTEQuCnmyMU7ID9utLGrOJ4_wAsZGTWcMaLhAG-5LbCbrDBd0qwKsP5M7Y4To1Tjyp0SguHPrgA5VRNA0DDZx7dbDoKzndVSEEQMY0hHaQAP8j6hzuFTB3Ui9ShkipxLGNK-9TOYs4Akc-Q4DxGkcKaQ4x8SrT-rCiNzBzejPf_n1P2jnuzzMEgyBAj9MfikIDdCYmPhC1usLLLmFrEV5AGMNXGmCAVWeIOTp61HIGijcXn_KU09_u4WFRkLWA3hKEKeAYFtIvY1gIyhopo5zWZ_QcxXKQcCBzspxL_O8dvJ6_mTTdQNwmBLj_2pTT1Oa51AA5UG5hMGrZM-Y5fUjGodXmpyBBmHyqnHI3FigATUlGlSyWjl3hd8nDNd_Ic6ZBu9VvwE45vVy1R0maO0FjZCngDFRQCPKExyu0FqXiToDFae8oRnInm4c7lGZNbUtKHAqdAh-GhoMjNwsHGgwS3NEjwZUp6yP6Udx6dHDp0_fPsO25l4tUjGb-9Z-vTXSRYKeXuEV39Cj1GNgZY3WYYjQcDTbxF-NME66Z7m9-IROyDrOC88RbxkWm7P6wpJYQkVVmFGP4_shzUOLdv7ExmemXbQGmZFZWNCQn24wlwf2_Czk74Uma67Zyv3dYEthUImHGTZjYwq2mbKUmJs_fMS8QECNPrkrpGDZ0mhZP_UYEZjk1GY_ybM9JavRsFmpBNyUxNhR--ZiVdHWVSnrLMTZrbLrsNPG9YynyoUuhtVTTHNvLtUDDEr__8vsb8yq7PXPP3--fcniw8Cm6fkomEvvle-s7zaQKWGs8ULWCQKOgWYuvRlz1gWjc8aQ8dhWN3ZBUt1mZfal2ZU7tcL9tnraVWVdPFWrft_s2qKtVYlVudWmkVXVPJVaVlhv28LIZmX3spBlUW9rWZZPRbV5eCoeWzSNkbre4bYRDwUOyrqNc-dhQ6Fb5a7vq3JXFiunGnQx3yCk9Ph6U57kC0XYc8y6mbooHgpnY4rfsySbHO5vrAYOubsmSDlfAtgCb8dlpsh5Wy-tfjsyRHlaTcHt_-HI5FWXn_UY6FfU6f6ozHv5IwAA__-Un_Xc">