// RUN: %clang_cc1 -fsyntax-only -verify -std=c++2c %s struct A; struct B; struct C; struct S {}; template struct TS {}; template class X { friend Pack...; static void f() { } // expected-note {{declared private here}} }; class Y { friend A, B, C; static void g() { } // expected-note {{declared private here}} }; struct A { A() { X::f(); Y::g(); }; }; struct B { B() { X::f(); Y::g(); }; }; struct C { C() { X::f(); Y::g(); }; }; struct D { D() { X::f(); // expected-error {{'f' is a private member of 'X'}} Y::g(); // expected-error {{'g' is a private member of 'Y'}} }; }; void f1() { A a; B b; C c; D d; } template struct Z { template