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

template <typename T> struct S {
  S<T> bar() noexcept(T::value);  // #1
  S<T> foo() noexcept(T::value);  // #2
};

template <typename T> S<T> S<T>::foo() noexcept(T::value) {}  // #3

template <typename T> struct S2 {
  S2<T> bar1() noexcept(T::value);
  S2<T> bar2() noexcept(T::value);
  S2<T> bar3() noexcept(T::value);
  S2<T> bar4() noexcept(T::value);
  S2<T> bar5() noexcept(T::value);
  S2<T> baz() noexcept(T::value2);
  S2<T> foo() noexcept(T::value);
};

template <typename T> S2<T> S2<T>::foo() noexcept(T::value) {}