<p dir="ltr">On 11 Jul 2012 08:18, "Howard Hinnant" <<a href="mailto:hhinnant@apple.com">hhinnant@apple.com</a>> wrote:<br>
><br>
> On Jul 11, 2012, at 6:17 AM, Joerg Sonnenberger <<a href="mailto:joerg@britannica.bec.de">joerg@britannica.bec.de</a>> wrote:<br>
><br>
> > On Wed, Jul 11, 2012 at 09:35:48AM -0000, Richard Smith wrote:<br>
> >> @@ -96,12 +102,9 @@<br>
> >> #ifndef LIBCXXRT<br>
> >> bool uncaught_exception() _NOEXCEPT<br>
> >> {<br>
> >> -#if __APPLE__<br>
> >> +#if __APPLE__ || defined(_LIBCPPABI_VERSION)<br>
> >> // on Darwin, there is a helper function so __cxa_get_globals is private<br>
> >> return __cxa_uncaught_exception();<br>
> >> -#elif LIBCXXRT<br>
> >> - __cxa_eh_globals * globals = __cxa_get_globals();<br>
> >> - return (globals->uncaughtExceptions != 0);<br>
> >> #else // __APPLE__<br>
> >> #warning uncaught_exception not yet implemented<br>
> >> ::abort();<br>
> ><br>
> > This looks wrong.<br>
> ><br>
> > Joerg<br>
><br>
> I'm also concerned. Where did the LIBCXXRT implementation go?<br>
><br>
> #elif LIBCXXRT<br>
> __cxa_eh_globals * globals = __cxa_get_globals();<br>
> return (globals->uncaughtExceptions != 0);</p>
<p dir="ltr">Note the #ifndef LIBCXXRT at the top of this hunk. This was dead code.</p>
<div class="gmail_quote">On 11 Jul 2012 08:18, "Howard Hinnant" <<a href="mailto:hhinnant@apple.com">hhinnant@apple.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Jul 11, 2012, at 6:17 AM, Joerg Sonnenberger <<a href="mailto:joerg@britannica.bec.de">joerg@britannica.bec.de</a>> wrote:<br>
<br>
> On Wed, Jul 11, 2012 at 09:35:48AM -0000, Richard Smith wrote:<br>
>> @@ -96,12 +102,9 @@<br>
>> #ifndef LIBCXXRT<br>
>> bool uncaught_exception() _NOEXCEPT<br>
>> {<br>
>> -#if __APPLE__<br>
>> +#if __APPLE__ || defined(_LIBCPPABI_VERSION)<br>
>> // on Darwin, there is a helper function so __cxa_get_globals is private<br>
>> return __cxa_uncaught_exception();<br>
>> -#elif LIBCXXRT<br>
>> - __cxa_eh_globals * globals = __cxa_get_globals();<br>
>> - return (globals->uncaughtExceptions != 0);<br>
>> #else // __APPLE__<br>
>> #warning uncaught_exception not yet implemented<br>
>> ::abort();<br>
><br>
> This looks wrong.<br>
><br>
> Joerg<br>
<br>
I'm also concerned. Where did the LIBCXXRT implementation go?<br>
<br>
#elif LIBCXXRT<br>
__cxa_eh_globals * globals = __cxa_get_globals();<br>
return (globals->uncaughtExceptions != 0);<br>
<br>
Howard<br>
<br>
<br>
</blockquote></div>