aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/lookup/builtin2.C
blob: be0a6f65d6c0ea3cfa63eb4310e4d1e0c299e5be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* { dg-do compile } */

/* PR c++/21087 */

/* We used to overload the template function with the built-in
   declaration, instead of replacing it as we should, and then barf at
   the using decl because of a test that none of the overload set
   members were anticipated built-ins.  */

extern "C" signed int toupper(signed int __c) throw();
namespace std
{
  template< typename a > a toupper(a,int){}
  using ::toupper;
}

int f () {
  std::toupper((signed int)'a');
}