(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp0x/
noexcept71.C
// PR c++/99980
// { dg-do compile { target c++11 } }

#define SA(X) static_assert(X, #X)

struct S {
  template<typename T>
  void f(T) noexcept(B);

  struct N {
    template<typename T>
    void f2(T) noexcept(B);
  };

  static constexpr bool B = true;
};

S s;
SA(noexcept(s.f(10)));
S::N n;
SA(noexcept(n.f2(10)));

struct Bad {
  template<typename T>
  using U = void() noexcept(B); // { dg-error "not declared" }

  template<typename T>
  friend void friendo() noexcept(B); // { dg-error "not declared" }

  static constexpr bool B = true;
};