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