https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69410

            Bug ID: 69410
           Summary: friend declarations in local classes
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: colu...@gmx-topmail.de
  Target Milestone: ---

void a();
void f() {
    class A {
        friend void ::a();
        friend class Z;
    };
}

---

The above fails for two (false) reasons, although it shouldn't. a is qualified,
therefore [class.friend]/11 does not apply. However, [class.friend]/11 does
apply in the subsequent declaration, making it well-formed - Z is declared to
be a local class. See the example in the aforementioned paragraph.

Reply via email to