[cfe-commits] [libcxx] r168853 - /libcxx/trunk/include/exception

Richard Smith richard at metafoo.co.uk
Thu Nov 29 12:15:24 PST 2012


On Thu, Nov 29, 2012 at 8:06 AM, Howard Hinnant <hhinnant at apple.com> wrote:
> On Nov 28, 2012, at 11:30 PM, Richard Smith <richard-llvm at metafoo.co.uk> wrote:
>
>> Author: rsmith
>> Date: Wed Nov 28 22:30:50 2012
>> New Revision: 168853
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=168853&view=rev
>> Log:
>> Remove 'noreturn' attribute from friend declaration. This attribute will be
>> inherited from the previous out-of-class declaration, and attributes on friend
>> function declarations are ill-formed in C++11.
>>
>> Modified:
>>    libcxx/trunk/include/exception
>>
>> Modified: libcxx/trunk/include/exception
>> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/exception?rev=168853&r1=168852&r2=168853&view=diff
>> ==============================================================================
>> --- libcxx/trunk/include/exception (original)
>> +++ libcxx/trunk/include/exception Wed Nov 28 22:30:50 2012
>> @@ -143,7 +143,7 @@
>>         {return !(__x == __y);}
>>
>>     friend exception_ptr current_exception() _NOEXCEPT;
>> -    _LIBCPP_NORETURN friend void rethrow_exception(exception_ptr);
>> +    friend void rethrow_exception(exception_ptr);
>> };
>>
>> template<class _Ep>
>
> Thanks Richard.  Do you know if this is a complete fix for http://llvm.org/bugs/show_bug.cgi?id=14452 ?  I.e. are there other places in libc++ that require this fix?

I didn't find any other places which use _LIBCPP_NORETURN on a friend
function declaration. If that's the only C++11 attribute which libc++
uses, this should be the complete fix.



More information about the cfe-commits mailing list