[llvm-bugs] [Bug 44531] clang-cl unqualified friend declaration
    via llvm-bugs 
    llvm-bugs at lists.llvm.org
       
    Mon Jan 13 10:00:19 PST 2020
    
    
  
https://bugs.llvm.org/show_bug.cgi?id=44531
Reid Kleckner <rnk at google.com> changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |rnk at google.com
         Resolution|---                         |INVALID
--- Comment #1 from Reid Kleckner <rnk at google.com> ---
The intention of the warning is to indicate that, on Linux, you are not
friending the global class S, but you are declaring a class N::S, which will
friend N::SS. MSVC will instead friend class ::S, and clang-cl does this.
Consider:
https://godbolt.org/z/yZbeVt
class S;
namespace N
{
    class SS
    {
        friend class S;
        static int gv;
    };
}
class S {
  int usePriv() { return N::SS::gv; }
};
MSVC and clang-cl accept, regular clang on Linux rejects. Clang on Windows is
trying to warn you about that non-standard behavior. Seems to be working as
intended.
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200113/758636ae/attachment.html>
    
    
More information about the llvm-bugs
mailing list