<div dir="ltr">I agree, _HAS_EXCEPTIONS=0 is undocumented and unsupported, but it's useful to us for the moment. Things are probably going to progress in the following way:<div><br></div><div>1. Finish getting clang to self-host with clang-cl with and without optimizations with _HAS_EXCEPTIONS=0. This is blocked by pass-by-value of non-trivial types.</div>
<div>2. Parse exceptions, but drop them on the floor with a warning like you get from cl /EHs-c-. This should make that confusing error about RTTI mangling go away and have the effect of turning off exceptions.</div><div>
3. Make RTTI work, because we need it for exceptions, and it's fairly simple.</div><div>4 .Make exceptions work.</div><div><br></div><div>Programs that rely on exceptions (any user of concrt.h) won't work until we get to 4, obviously, but I expect there's a large amount of code that only uses exceptions in STL headers that would work with 2.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 8, 2014 at 7:36 AM, Edward Diener <span dir="ltr"><<a href="mailto:eldlistmailingz@tropicsoft.com" target="_blank">eldlistmailingz@tropicsoft.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Here is the latest response from Microsoft to my bug report regarding _HAS_EXCEPTIONS being set to 0 when compiling with VC++ (<a href="http://connect.microsoft.com/VisualStudio/feedback/details/811347/compiling-vc-12-0-with-has-exceptions-0-and-including-concrt-h-causes-a-compiler-error" target="_blank">http://connect.microsoft.com/<u></u>VisualStudio/feedback/details/<u></u>811347/compiling-vc-12-0-with-<u></u>has-exceptions-0-and-<u></u>including-concrt-h-causes-a-<u></u>compiler-error</a>):<br>
<br>
"Hello,<br>
Thank you for reporting.<br>
Macro _HAS_EXCEPTIONS=0 is undocumented and unsupported by Microsoft.<br>
It may work with some parts of the STL library for legacy reasons, but it won't be compatible with ConcRT library (concrt.h) since ConcRT depends on exceptions for cancellation."<br>
<br>
The same bug also occurs when compiling with clang-cl. In other words the clang-cl need to have exception handling and give up on the idea that clang-cl can be implemented successfully with _HAS_EXCEPTIONS being set to 0. BTW the concrt.h is being included in Microsoft headers automatically no matter whether _HAS_EXCEPTIONS is set to 0 or not, but I think this is a non-issue from Microsoft's statement above that _HAS_EXCEPTIONS is undocumented and unsupported.<br>
<br>
______________________________<u></u>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br></div>