| // { dg-do compile } |
| // Origin: <gawrilow at math dot tu-berlin dot de> |
| // PR c++/10750: error when using a static const member initialized |
| // with a dependent expression as constant-expression |
| |
| struct A |
| { |
| enum { a = 42 }; |
| }; |
| |
| template <class Q> |
| struct B |
| { |
| static const int b = Q::a; |
| }; |
| |
| template <typename T, template <typename> class P> |
| struct C |
| { |
| static const bool a = T::a; |
| static const bool a_ = a; |
| static const bool b = P<T>::b; |
| static const bool b_ = b; |
| static const int c = sizeof(T); |
| static const int c_ = c; |
| }; |
| |
| template struct C<A,B>; |