blob: a0ddc9ca1542ab1da5b801586fcb04bf375f4c79 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
// { 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'
|