/* { 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; | |
} | |
void f () { | |
std::toupper((signed int)'a'); | |
} |