<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">