// PR c++/86476 - noexcept-specifier is a complete-class context
// { dg-do compile { target c++11 } }
void f() noexcept(false);
void g() noexcept(true);
void h() noexcept;
struct B {
  friend void f() noexcept(false);
  friend void g() noexcept(false); // { dg-error "different exception specifier" }
  friend void h() noexcept(false); // { dg-error "different exception specifier" }
};
struct C {
  friend void f() noexcept(true); // { dg-error "different exception specifier" }
  friend void g() noexcept(true); // { dg-error "different exception specifier" }
  friend void h() noexcept(true); // { dg-error "different exception specifier" }
};
void o() noexcept(false);
void p() noexcept(true);
void q() noexcept;
struct D {
  friend void o() noexcept(true); // { dg-error "different exception specifier" }
  friend void p() noexcept(true);
  friend void q() noexcept(true);
};