[PATCH] Avoid llvm_unreachable when friend-ing a using declaration

John McCall rjmccall at apple.com
Tue Mar 19 22:57:22 PDT 2013


On Mar 12, 2013, at 2:30 PM, Stephen Lin <swlin at post.harvard.edu> wrote:

> Hi,
> 
> This is a bug fix for LLVM Bugzilla bug #15485 (http://llvm.org/bugs/show_bug.cgi?id=15485)
> 
> Basically, llvm_unreachable is currently hit because CheckOverload assumes that a new function declaration in record scope should trigger member function hiding rules, but this is not the case for "friend" declarations.
> 
> I believe the code causing the issue is illegal (the friend declaration should not friend the function brought into scope by the using) and should result in an error; this is what happens after the patch without any extra effort (although the error could possibly be improved?).

I agree that the error could be improved.  Would you mind tackling that if it's straightforward?  It's SemaDecl.cpp:2279.  You might need to propagate down isFriend.

John.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130319/224736f8/attachment.html>


More information about the cfe-commits mailing list