URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [g++.dg/] [template/] [deduce2.C] - Rev 301
Compare with Previous | Blame | View Log
template <typename T0> struct tuple {
typedef tuple<int> tail;
};
template <> struct tuple<int> {
};
template <typename L>
struct length {
static const int i = length<typename tuple<L>::tail>::i;
};
template<>
struct length<tuple<int> > {
static const int i = 1;
};
template <int> struct M {};
template <typename A>
M<length<tuple<A> >::i > foo (A*);
template <typename A>
M<length<tuple<A> >::i> foo (const A*);
const int i1 = 3;
void bar() {
foo (&i1);
}