summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/ttp5.C
blob: ee9d1ff7cc95e7fc1a909dc66dc65ec295ea0759 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// { dg-do compile }

// Origin: sneechy@hotmail.com

// PR c++/8772: Incorrect diagnostics for template template parameter
// mismatch

template <int> struct A {
  template <int> struct B {
    enum { v = 1 };
  };
};

template <template <int> class F> struct C {
  enum { v = F<1>::v || 2 }; 
};

template <int n> struct D {
  enum { v = C<A<n>::B>::v }; // { dg-error "mismatch|class template" }
};