blob: adc5128ea7c538a15220ab82379888126de028a3 [file] [log] [blame]
// { dg-do run }
// GROUPS passed constructors
#include <cstdio>
#include <cstdlib>
#include <iostream>
#define MAGIC 7654
class complex {
double re;
double im;
int magic;
static int count;
public:
complex() { re=im=0; magic=MAGIC; }
complex(double d) { re=d; im=0; magic=MAGIC; }
complex(double d, double d2) {re=d; im=d2; magic=MAGIC; }
~complex() {if(magic!=MAGIC) {std::printf("FAIL\n"); std::exit(1);}}
friend std::ostream& operator << (std::ostream& o, const complex& c)
{ return o << "(" << c.re << "," << c.im << ")"; }
};
int complex::count=0;
int main()
{
complex v[6] = {1, complex(1,2), complex(), 2 }; // ARM Sect. 12.6.1
int i; // page 289
for(i=0; i<6; i++) ;
std::printf ("PASS\n");
return 0;
}