1// { dg-do assemble  }
2// Origin: Alex Samuel <samuel@codesourcery.com>
3
4namespace NS
5{
6
7template <class T, int V>
8struct Base
9{
10};
11
12template <class T>
13struct Z
14{
15  const static int value_ = false;
16};
17
18template <class T>
19struct A :
20  public Base <T, Z<T>::value_>
21{
22};
23
24template <class T>
25void f(T)
26{
27}
28
29}
30
31
32template <template <class T> class U>
33struct B
34{
35};
36
37
38int
39main ()
40{
41  B<NS::A> ba;
42  f (ba);  // Koenig lookup
43  return 0;
44}
45
46