| // { dg-do assemble } |
| // GROUPS passed overloading |
| class Foo |
| { |
| public: |
| int operator << (const signed char&); |
| int operator << (const unsigned char&); |
| int operator << (const short&); |
| int operator << (const unsigned short&); |
| int operator << (const long&); |
| int operator << (const unsigned long&); |
| }; |
| |
| int main () |
| { |
| Foo fd; |
| |
| // We fixed convert_harshness_ansi so it considers the call to |
| // <<(const signed char&) to be a trivial conversion. It used |
| // to always make it a standard conversion, which made it conflict |
| // with <<(const unsigned char &), which is really a std conv. |
| fd << (signed char) 0; |
| } |