summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.pt/using1.C
blob: 8147b2b7c00c84e3e1a9194612e20bb94cdcf449 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// { dg-do run  }
// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 26 Feb 2001 <nathan@codesourcery.com>

// Bug 1981. using declarations in namespace scope were not remembered.

namespace A
{
  void swap () {}
}

template <class T> void f()
{
  using A::swap;
}

template void f<float> ();

int foo (int) { return 0;}

namespace B
{
  int foo (int) { return 1;}
  
  template <class T> int baz ()
  {
    using ::foo;
    
    return foo (1);
  }
  template int baz<float> ();
}

int main ()
{
  return B::baz<float> ();
}