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

    <tr>
        <th>Summary</th>
        <td>
            a binary with rethrow_exception() crashes
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            platform:windows,
            crash-on-valid
      </td>
    </tr>

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

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

<pre>
    ```c++
#include <string>
#include <cstdio>
#include <stdexcept>

int main() {
    try {
        try {
            throw std::runtime_error("test");
        }
        catch (const std::exception& e) {
            std::rethrow_exception(std::current_exception());
        }
    }
    catch (const std::exception& e) {
        std::puts(e.what());
    }

    return 0;
}
```

```
clang-cl /std:c++20 /EHsc -fsanitize=address /MT main.cpp
main.exe
echo %ERRORLEVEL%
-2147483645
```

```
clang-cl /std:c++20 /EHsc /MT main.cpp
main.exe
echo %ERRORLEVEL%
-2147483645
```

It works with cl.exe:
```
cl /std:c++20 /EHsc -fsanitize=address /MT main.cpp
main.exe
test

echo %ERRORLEVEL%
0
```

and on Linux https://godbolt.org/z/4WrGq54zh

I use Visual Studio 2022 17.4 Preview 5.

```
clang-cl --version
clang version 15.0.1
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\Llvm\x64\bin
```

```
cl /Bv
Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31932 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

Compiler Passes:
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.34.31932\bin\HostX64\x64\cl.exe:        Version 19.34.31932.0
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.34.31932\bin\HostX64\x64\c1.dll:        Version 19.34.31932.0
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.34.31932\bin\HostX64\x64\c1xx.dll:      Version 19.34.31932.0
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.34.31932\bin\HostX64\x64\c2.dll:        Version 19.34.31932.0
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.34.31932\bin\HostX64\x64\c1xx.dll:      Version 19.34.31932.0
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.34.31932\bin\HostX64\x64\link.exe:      Version 14.34.31932.0
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.34.31932\bin\HostX64\x64\mspdb140.dll:  Version 14.34.31932.0
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.34.31932\bin\HostX64\x64\1033\clui.dll: Version 19.34.31932.0
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztVktv4zYQ_jXyhZCgByVbBx2yit0tkGCDbJDtLaAo2mKXElWSsp38-g4pR47TJG3RtE2BCrTkeXDmmyE5w0rW94WXheOgXvzJjvDcC8-8OOEdFUPNkJeU2ijebbxk-ZKQalNz-YoQZGxPWW-OcvfmnUEt4Z0XL7w4R9784BfBY9T9KeNVphM0Su4Q-PGSMxhq6Axv2R1TSipnPTZMG_iAHy95ZsCbn58yKDG0QTCPyk6bo9kxCC4BcIbYbyA_PkcYzOG6ezJvMQnpoBTrzInQovs9gCfEX0A66faD0WCBBbuGmJdBTD6PLIhtUB0KJ72jzuNeejrlGZMK0m18KgD6agRy2HhxaFnLz5oif61Jxw1_YF5yTupaMa2t8PLGbZqA9v1ozFFsz0aK0UaCWrq8vv5yfbG8XV4AMYr8OMJzvEgynL4v1H8A1Y8G7aT6rtGOmwZR4Uwnr0H-G_LqDtATQG9EFL4RB-lqJDt0wbthjxpjem2jiFcwNrKupDCBVBugHuCHv6kffknxQ3OSCTRohm65HohAX80AdQfFYRyjaB5gdKXYlrMdSoM_sqa-v2VK23Ny5KMDC0VpEAbRKLkhasOgfp2h_SK7y7DfU3_Hu1rutN_qLT1oNYqRGrWyZsLq9lLz_QE1nE8iBKvPubKi0oadlldKbhRp0YoLpoG-5FRJLdfmNECQ2BDdBBcf_Lst4XUjpbDzLsS2hc8-w_CuePdn9rdd_E_bkTr6h0pwbQtHCdJy3EToC9SUlj9AG0ClbHvArNDtY7byIMFBEuVJjNZSIQvFmSxlf6_4pnEmS2vy6KSUqpeK2EoVIHQmBHKaGsqLZmrL6pNVnHxeEa2Znrb_eyfz8qsjIzxFdEhqWn6W2vzkkjymejqIj2X1hXQE4b8PMwpqIf4DMPf7E6AfFGb8fzbfD6bg3feTQzTBxB8JZqv7uopwOGX0Y8KMwiRxdWngj0jfWPapF8xYEWXZHOd5itNZXSR1nuRkZrgRrCAIfBG4e7u7x0u3WlvVqSK6YXo2KFE8a-wwbagCKlsghO1U48fvlfyZUbh0rrjWA6QoXqWLeR7NmoJgvCBVlGRZmuOqTmgVJ1G1juuMzEOarWeCVEzowkuhM8W9IAaaTgsuD13Z3fVLaDmxw-XLzt8SwWvLT89nvLAZjyBb0SLKwzSgcbXAJK_CME9CgpmHQwYXIBFYoPZKMlOFw1wNGw1CwbXRRyE0JL7pGHN4wD4ZTCNVsdYVDsNw5sIrXGy_Am1GzLg">