1// Build don't link:
2// GROUPS passed overloading
3class Foo
4{
5public:
6  int operator << (const signed char&);
7  int operator << (const unsigned char&);
8  int operator << (const short&);
9  int operator << (const unsigned short&);
10  int operator << (const long&);
11  int operator << (const unsigned long&);
12};
13
14int main ()
15{
16  Foo fd;
17
18  // We fixed convert_harshness_ansi so it considers the call to
19  // <<(const signed char&) to be a trivial conversion.  It used
20  // to always make it a standard conversion, which made it conflict
21  // with <<(const unsigned char &), which is really a std conv.
22  fd << (signed char) 0;
23}
24