[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


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.


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

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