1// { dg-do assemble  }
2
3template<int M, int N>
4class GCD {
5public:
6  enum { val = (N == 0) ? M : GCD<N, M % N>::val }; // { dg-warning "division" "division" }
7// { dg-error "not a valid" "valid" { target *-*-* } 6 }
8};
9
10int main() {
11  GCD< 1, 0 >::val; // { dg-message "instantiated" }
12}
13