3 // General test for operator overloading permissiveness.
5 typedef __SIZE_TYPE__ size_t;
8 int operator?:(int a, int b); // { dg-warning "" }
9 static int operator()(int a); // { dg-error "" } must be nonstatic
10 static int operator+(A,A); // { dg-error "" } must be nonstatic
11 int operator+(int a, int b = 1); // { dg-error "" } two errors on this line
12 int operator++(char); // { dg-error "" } must take 'int'
13 void operator delete (void *);
14 void operator delete (void *, unsigned long);
18 void * operator new (size_t, void *);
19 int operator++(int = 0);
22 char * operator[](int);
26 int operator-(int a, int b); // { dg-error "" } no class argument
28 void * operator new (A a); // { dg-error "" } invalid first argument
29 void operator delete (A a); // { dg-error "" } ditto
31 char * operator char * (int); // { dg-error "" } return value, nonmember