view gcc/testsuite/g++.old-deja/g++.jason/3523.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { dg-do assemble  }
// GROUPS passed assignment
class ccUnwind 
{
public:
    virtual ~ccUnwind (); // comment out virtual, and void diag changes
};

template<class T>
class ccHandle : public ccUnwind // similarly comment out inheritance
{   
public:
    ccHandle& operator = (const ccHandle& h);
};

class cc_Image;		 

class ccImage : public ccHandle<cc_Image>
{
public:
//  reversing the order of the next two lines changes the diagnostic
//  printed about the def of ccDisplay::image 
    ccImage    (const  ccImage  &);
    ccImage    (const  cc_Image &);
};

class ccDisplay 
{
public:
    ccImage img;
//ccImage image ( ccImage i) {img = i; return img;}
// above line  compiles 
    ccImage image ( ccImage i) { return img = i;} /* this gets void* error */
};



// vd.C: In method `class ccImage ccDisplay::image (class ccImage)':
// vd.C:31: bad argument 1 for function `ccImage::ccImage (const class cc_Image&)' (type was void *)
// vd.C:31: in base initialization for class `ccImage'