<div dir="ltr"><div dir="ltr">There are five bugs (three left) that are being fixed. Test58 & Test61 were fixed in Ten's last commit.<div><pre style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:13px;margin-top:10px;margin-bottom:0px;max-width:100%;line-height:1.45;color:rgb(68,77,86);white-space:pre-wrap;overflow:visible;word-wrap:break-word">Both pass the entire SEH test suite except the following failures:
   -- Xcpt4u: test58 & test61:  due to Nested_Finally, a missing feature of
              present compiler. On MSVC this feature is only valid on X64 target.
   -- Xcpt4u: test84 & test87: leaving an except handler must invoke _local_unwind().
   -- Seh0020 (-O2 only):  a present setjmp/longjmp bug.</pre></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 3, 2020 at 2:26 AM Gaier, Bjoern <<a href="mailto:Bjoern.Gaier@horiba.com">Bjoern.Gaier@horiba.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">





<div lang="DE">
<div class="gmail-m_6749693085135576394WordSection1">
<p class="MsoNormal"><span lang="EN-GB">Hey Aaron,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">I downloaded the source files from the git repo and build the LLVM and Clang with it. It is awesome to see that the SEH tests from Microsoft are working now. However Clang still crashes
 when trying to compile the “xcpt4u.c” source file from the SEH tests. I did a small source code modification by changing the return statement of the main to “return 0;”<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Is this test supposed to work? Have I misconfigured something?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Kind greetings<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Björn<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Aaron Smith <<a href="mailto:aaron.lee.smith@gmail.com" target="_blank">aaron.lee.smith@gmail.com</a>>
<br>
<b>Sent:</b> 27 March 2020 21:31<br>
<b>To:</b> Gaier, Bjoern <<a href="mailto:Bjoern.Gaier@horiba.com" target="_blank">Bjoern.Gaier@horiba.com</a>><br>
<b>Cc:</b> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<b>Subject:</b> Re: [llvm-dev] Exceptions on Windows & MSVC<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Here is a wiki page and git repo with an implementation of SEH that passes all the tests for x86.<u></u><u></u></p>
<div>
<p class="MsoNormal">We're looking for feedback before putting a patch on Phabricator.<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><br>
<a href="https://github.com/tentzen/llvm-project" target="_blank">https://github.com/tentzen/llvm-project</a><br>
<a href="https://github.com/tentzen/llvm-project/wiki" target="_blank">https://github.com/tentzen/llvm-project/wiki</a><u></u><u></u></p>
</div>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Mon, Nov 18, 2019 at 10:59 PM Gaier, Bjoern <<a href="mailto:Bjoern.Gaier@horiba.com" target="_blank">Bjoern.Gaier@horiba.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-width:1pt;border-left-color:rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal"><span lang="EN-GB">Thank you for this Aaron!</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">In our company we rely heavily on the compatibility between Clang-Cl and the Visual Studio compiler, lately we encountered big problems with the handling of SEH
 exceptions in our code, so running those tests helped us. (Sadly we can’t move to the Visual Studio compiler)</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">However, maybe it helps someone if I share the results from running those tests… I imported all of the tests into separated projects, compiling them with the
 same settings, with MSVC (v141) and Clang (9), then I compared the output. The compiler settings for all those projects were:</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">/permissive- /GS /GL /W3 /Gy /Zc:wchar_t /Gm- /Ox /Ob2 /sdl /Zc:inline /fp:precise /D "_MBCS" /errorReport:prompt /GF- /WX- /Zc:forScope /Gd /Oy /Oi /MD /FC /EHsc
 /nologo /Ot /diagnostics:classic</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">The MSVC compiler only failed the following test:</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">EH:<br>
ihateeh.cxx </span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">Clang however failed multiple tests:<br>
EH:</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">ihateeh.cxx
</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">SEH:</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">seh0007.c (-> Test failed; The access violation was optimized away, leading to a random result; – forcing the access violation caused no catching of the exception)<br>
seh0019.c (-> No exception caught; Which makes sense because there are no catch handler, but MSVC does catch them)<br>
seh0055.c (-> Test failed; The result is not correct)</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">sehframes.cpp (-> A certain exception was not caught)</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">The following tests didn’t even compiled, instead they crashed the compiler:</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">seh0034.c</span><u></u><u></u></p>
<p class="MsoNormal">seh0035.c<u></u><u></u></p>
<p class="MsoNormal">seh0036.c<u></u><u></u></p>
<p class="MsoNormal">seh0041.c<u></u><u></u></p>
<p class="MsoNormal">seh0042.c<u></u><u></u></p>
<p class="MsoNormal">seh0043.c<u></u><u></u></p>
<p class="MsoNormal">seh0048.c<u></u><u></u></p>
<p class="MsoNormal">seh0049.c<u></u><u></u></p>
<p class="MsoNormal">seh0050.c<br>
xcpt4u.c<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">I hope that helped in some way – any comments or suggestions? I’m up for it!</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.org</a>>
<b>On Behalf Of </b>Aaron Smith via llvm-dev<br>
<b>Sent:</b> 11 November 2019 23:03<br>
<b>To:</b> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<b>Subject:</b> [llvm-dev] Exceptions on Windows & MSVC</span><u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<div>
<p class="MsoNormal">At Microsoft we open sourced some of our compiler tests for exception handling on github.<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><a href="https://github.com/microsoft/compiler-tests" target="_blank">https://github.com/microsoft/compiler-tests</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">We are looking into what it would take to get these to work with clang-cl. I’m planning to share a design document on the mailing list soon.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Aaron<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal">Als GmbH eingetragen im Handelsregister Bad Homburg v.d.H. HRB 9816, USt.ID-Nr. DE 114 165 789 Geschäftsführer: Dr. Hiroshi Nakamura, Dr. Robert Plank, Markus Bode, Heiko Lampert, Takashi Nagano, Takeshi Fukushima. Junichi Tajika
<u></u><u></u></p>
</div>
</blockquote>
</div>
</div>
Als GmbH eingetragen im Handelsregister Bad Homburg v.d.H. HRB 9816, USt.ID-Nr. DE 114 165 789 Geschäftsführer: Dr. Hiroshi Nakamura, Dr. Robert Plank, Markus Bode, Heiko Lampert, Takashi Nagano, Takeshi Fukushima. Junichi Tajika
</div>

</blockquote></div>