aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/opt/operator1.C
blob: 9f286b9f98c65d7659b14526c6bf3d47f30483fc (plain)
1
2
3
4
5
6
7
8
9
10
// Tests whether g++ can handle large number of operators
// { dg-do compile }

#define OP0(n) struct I##n { int i; }; operator I##n ();
#define OP1(n) OP0(n)
#define OP2(n) OP1(n##0) OP1(n##1) OP1(n##2) OP1(n##3) OP1(n##4)
#define OP3(n) OP2(n##0) OP2(n##1) OP2(n##2) OP2(n##3) OP2(n##4)
struct S {
  OP3(0) OP3(1) OP3(2) OP3(3) OP3(4) OP3(5)
};