// PR c++/79629 | |
// { dg-do compile { target c++14 } } | |
// { dg-options "-w" } | |
template <typename> struct S { | |
enum E : int; | |
constexpr int g() const; | |
}; | |
enum S<char>::E; | |
template <typename T> enum S<T>::E : int { b }; | |
template <typename T> | |
constexpr int S<T>::g() const { b; if (false) return 0; } // { dg-error "not declared" } | |
static_assert(S<char>().g() == 1, ""); // { dg-error "" } | |
// { dg-message "in .constexpr. expansion of" "" { target *-*-* } .-1 } |