summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.brendan/overload5.C
blob: d5c25dbbe28baf4d61e24b6b4e5089a8cb736092 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// { 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;
}