diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/template/qualified-id3.C')
-rw-r--r-- | gcc/testsuite/g++.dg/template/qualified-id3.C | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/qualified-id3.C b/gcc/testsuite/g++.dg/template/qualified-id3.C new file mode 100644 index 000000000..c769a529c --- /dev/null +++ b/gcc/testsuite/g++.dg/template/qualified-id3.C @@ -0,0 +1,14 @@ +// PR c++/44587 + +template <const int N> struct A { }; +template <class T> struct B { + static const int c; // { dg-message "not initialized with a constant expression" } + typedef A<B<T>::c> C; // { dg-error "constant expression|template argument" } +}; +template <class T> const int B<T>::c = sizeof (T); + +template <const int N> struct D { }; +template <class T> struct E { + static const int c = sizeof (T); + typedef D<E<T>::c> F; // OK +}; |