Tested x86_64-linux, applying to trunk. 2018-12-01 Marek Polacek <pola...@redhat.com>
PR c++/79629 * g++.dg/other/error35.C: New test. diff --git gcc/testsuite/g++.dg/other/error35.C gcc/testsuite/g++.dg/other/error35.C new file mode 100644 index 00000000000..e9c8371f18b --- /dev/null +++ gcc/testsuite/g++.dg/other/error35.C @@ -0,0 +1,14 @@ +// 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; } // { dg-error "not declared" } +static_assert(S<char>().g() == 1, ""); // { dg-error "" } +// { dg-message "in .constexpr. expansion of" "" { target *-*-* } .-1 }