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

    <tr>
        <th>Summary</th>
        <td>
            Clang-cl 19.1 crash on Windows
        </td>
    </tr>

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

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

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

<pre>
    
We observed a crash on Windows in coroutine code after upgrading to 19.1. Needs at least /O1.

Compiling the attached repro code, crashes.

Clang-cl 19.1
msvc-14.39.33519
windows sdk 10.0.22621.0

```
Stack dump:
0.      Program arguments: external\\clang_windows\\bin\\clang-cl.exe /O1 /c clangcl19windowscoroutinecrash.cpp /EHsc msvc /imsvc external/msvc/include /imsvc external/windows_sdk/Include/shared/ /imsvc external/windows_sdk/Include/ucrt/ /imsvc external/windows_sdk/Include/um/ -Xclang -std=c++23
1.      <eof> parser at end of file
2. Optimizer
3.      Running pass "require<globals-aa>,function(invalidate<aa>),require<profile-summary>,cgscc(devirt<4>(inline,function-attrs<skip-non-recursive-function-attrs>,function<eager-inv;no-rerun>(sroa<modify-cfg>,early-cse<memssa>,speculative-execution<only-if-divergent-target>,jump-threading,correlated-propagation,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,aggressive-instcombine,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,reassociate,constraint-elimination,loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;no-prepare-for-lto>,licm<allowspeculation>,simple-loop-unswitch<no-nontrivial;trivial>),simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,loop(loop-idiom,indvars,simple-loop-unswitch<no-nontrivial;trivial>,loop-deletion,loop-unroll-full),sroa<modify-cfg>,vector-combine,mldst-motion<no-split-footer-bb>,gvn<>,sccp,bdce,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,jump-threading,correlated-propagation,adce,memcpyopt,dse,move-auto-init,loop-mssa(licm<allowspeculation>),coro-elide,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;hoist-common-insts;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>),function-attrs,function(require<should-not-run-function-passes>),coro-split)),function(invalidate<should-not-run-function-passes>),cgscc(devirt<4>())" on module "C:\Users\fscheibner\hyper-db\clangcrashminimal.cpp"
4. Running pass "cgscc(devirt<4>(inline,function-attrs<skip-non-recursive-function-attrs>,function<eager-inv;no-rerun>(sroa<modify-cfg>,early-cse<memssa>,speculative-execution<only-if-divergent-target>,jump-threading,correlated-propagation,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,aggressive-instcombine,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,reassociate,constraint-elimination,loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;no-prepare-for-lto>,licm<allowspeculation>,simple-loop-unswitch<no-nontrivial;trivial>),simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,loop(loop-idiom,indvars,simple-loop-unswitch<no-nontrivial;trivial>,loop-deletion,loop-unroll-full),sroa<modify-cfg>,vector-combine,mldst-motion<no-split-footer-bb>,gvn<>,sccp,bdce,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,jump-threading,correlated-propagation,adce,memcpyopt,dse,move-auto-init,loop-mssa(licm<allowspeculation>),coro-elide,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;hoist-common-insts;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>),function-attrs,function(require<should-not-run-function-passes>),coro-split))" on module "clangcl19windowscoroutinecrashl.cpp"
5.      Running pass "jump-threading" on function "?asyncInit@@YA?AU?$AsyncFunction@H@@XZ.resume"
Exception Code: 0xC0000005

clang-cl: error: clang frontend command failed due to signal (use -v to see invocation)
hyper.salesforce.com clang version 19.1.0
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: external\clang_windows\bin
clang-cl: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-cl: note: diagnostic msg: AppData\Local\Temp\2\clangcl19windowscoroutinecrash-c2ab57.cpp
clang-cl: note: diagnostic msg: AppData\Local\Temp\2\clangcl19windowscoroutinecrash-c2ab57.sh
clang-cl: note: diagnostic msg:

********************
```
[clangcl19windowscoroutinecrash.zip](https://github.com/user-attachments/files/17055892/clangcl19windowscoroutinecrash.zip)


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWVtv2zgW_jX0C0FBpqzEfvCDo8TTAMGkaFN0dl8KijySOaFILS9OMr9-QVJ2Lr1su9vdxWASGI51eG78eA79mWTOyV4DrFF9hurzGQt-Z-y6U0bArDXiYY3Kc1RuPgI2rQO7B4EZ5pa5HTYaf5RamDuHpcbcWBO81IC5EYBZ58HiMPaWCal77A2er4p5gX8FEA4zjxUw5zGi2-t5kYPk98YMo1TJZgeYec_4DgS2MFqTfCPa5AzAPTdUTPeEqxQoiwa352S-KKpVUVX1fJWld1PWTtzieVmUBaUndF6UT52hk3J6pcf3nvFbLMIwomrSKAuc_t5a01s2YGb7MID2DlUbDPcerGYK1Q2qGx4z-zSFzaJW6idjhKsC7iGjEd85TnKu5qvJ7IhvmnrBxzHqXbxxHMdZxgeZPhxD0218jnLNVRDwRZXJ-ycnbhHdXmZNRLduxywIRLc_ZBW49T9sM0QL8luaMCbOC1Sdc0TPED2jVcZ6PmGNqgZMh6oLPDLrwMY6Ai2w6XAnFWRlWuDr0ctB_gE2S6rJ_F3QOhbWyJzDiFIL_wjSAqqaXpmWKUcYQ9UFok0XNPfSaESXUu-ZkoL5qDeNrxBtHo1Ha2J04sIwMPuQPfDecY7oUsBeWo-qZpHkS6mV1PAkBGHeW4eqxt3KkWijiQUerJN7IC91nqVWNcB6sETqParOtCEWbNA5irOGoaoZjJDdA-Fdn22BWfVAuItZDzA4N03XjcCDYj7GhHvgYQpgtHogsiNC7sH2oD3xzPbgs9XvYRiJ31lILR7nbKwFxTwIMlozsp5lDBsnh1HJ7iEl0rRGB0ekdj5Zu51Rcc3neRadsXfMCuLupOc7wo0WqDqbnizTPRBviOSxFaP-NOINUcbchii9BRjj0-iyys5I5wk3w2B0ijvJndS3L8UHKIC0yvDbJJqyT7mQ1jLNd5ODo3LQowUhuWetgmmloktuhjaud9UM7J5IDzZh4h7nGxykXInUncmiPdgYrpP3o5F6Qpv1vQWXyuKpY9p4JhVnSoGSw18WawvMOcNlbNNYiNp5y6T2JKIi9aEQE9Cp7ulyAt35Q8zD-FMEaaMkH1DVaEOYUubu2Comt1o2scbnDWIHTIAlIoxK8kkrZj9aGJmFiDhR3kym2fWX_aYsptIIOiOf89BGeyv3kilUnR0_TdvSX3P5f26rRZ1jgQhphhRB7Jl1_97C5CIRoOBpHQZtjVKkC0pNa_flXXsP3BtLHjt-UMJ5Mphpl07oKOlJZ4wHS9o22_X7ODpVE-cjok0rOPx0uL7_e4Dl8AMMfHwwo0e0ES5JzB4IC7HatPQvG_UbbbLK4Uzs80QN_5_1_8Xi_zNV_upzXvKMCz1yHrczQQmijSc26EeiEqnVlNpxaVJxpufVN6jV93r8Cq86-Kfxd8lgRFCR8NIm8vW6-eDARubdOb4D2WqwqG52D2PcqtsDC0_MepBaDkxFgo0ozfxxUXxGHV_p3Su9e6V3r_Tuld79-Vrtld690rtXevffoXcv6Ne3TzGfs6z6K6d0L-svhThkFBVQtWXuQfPLWFuLEi3Kv21Qtd18QNUW0cUmjm0Ps1yUb7LOb38vLLgwwDGBi3sOY3LaGAGo2uDyvinTX_30bPhwZJsOeq01Nn7Ix5edNdqDFjhWBNMCd0wqEFgEwN5gJ3vNFEZ0GRxgsk8yACz13kxfJ3Q6pE7ktHBMgeuM5VBwM0xB9mBdzDIdqE8H1DcTcdvg--XJp5MFGTmZMCfpGDhrJRTj-kDKfjRO3uehS-18ZBniXNoXJ9gvj69bqT8HQhufIBOS9do4LzkeXH88LUf0P3g9wf7t1cXm_QXe3Nxsmjf45s0F3l5fXV1_vPz1F7y9vLp4j2-uk_jswy_43cXb63c3xxzepjsEDs6BwM4EG3erpUN0heNSHRmGwDZo7LiVcQubFCxgFdcIBGb-6PK7EMCbcTxnnqG6uTI8QXoDw4jqhh5_enytRQinrK1PU6P8byO63Y8v8s9a6ueXL6g--xe3IX_IEdXniC533seteoPoFtFtL_0utLFzEN0GB5bk66R8TUO3nYz7LN3OT8u6Xq4ootvvCHTo0Pw-E-tKrKoVm8F6fkpPTqsFPalmuzXrupqVpRAnlNXzJS9FPT-N0FarUyo6NpNrWtJFuZqvyiVd0KpoV7wWCwqi4-0JP-nQooSBSVUotR8KY_uZdC7Ael6uaF3NFGtBuXRzR6mGO5xG425Wn8_sOhqRNvQOLUolnXePbrz0CtbP7ss-u9ObBavW34AzOpv-RRbwO3CP6DalkCDNOe7X9J8BAAD__2J1sdM">