// { dg-do assemble }
|
// { dg-do assemble }
|
// GROUPS passed conversions
|
// GROUPS passed conversions
|
class GttObject {};
|
class GttObject {};
|
class GctObject: virtual public GttObject {};
|
class GctObject: virtual public GttObject {};
|
class NDAMObject: virtual public GttObject, virtual public GctObject {};
|
class NDAMObject: virtual public GttObject, virtual public GctObject {};
|
class GctHashObject: virtual public GctObject {};
|
class GctHashObject: virtual public GctObject {};
|
|
|
class GctRef: virtual public GctHashObject
|
class GctRef: virtual public GctHashObject
|
{ public: operator void*() const; };
|
{ public: operator void*() const; };
|
|
|
class NDAMAssemblerObject: virtual public NDAMObject {};
|
class NDAMAssemblerObject: virtual public NDAMObject {};
|
class GctReferenceObject: virtual public GctHashObject {};
|
class GctReferenceObject: virtual public GctHashObject {};
|
class NDAMValue: virtual public NDAMAssemblerObject, public GctReferenceObject {};
|
class NDAMValue: virtual public NDAMAssemblerObject, public GctReferenceObject {};
|
|
|
class nnyacc;
|
class nnyacc;
|
class NDAMValueRef : virtual public NDAMObject, public GctRef
|
class NDAMValueRef : virtual public NDAMObject, public GctRef
|
{
|
{
|
NDAMValue *operator->() const;
|
NDAMValue *operator->() const;
|
operator NDAMValue *() const;
|
operator NDAMValue *() const;
|
friend class nnyacc;
|
friend class nnyacc;
|
};
|
};
|
|
|
typedef void* Pix;
|
typedef void* Pix;
|
class NDAMValueRefSLList
|
class NDAMValueRefSLList
|
{
|
{
|
public:
|
public:
|
NDAMValueRefSLList();
|
NDAMValueRefSLList();
|
NDAMValueRefSLList(const NDAMValueRefSLList& a);
|
NDAMValueRefSLList(const NDAMValueRefSLList& a);
|
~NDAMValueRefSLList();
|
~NDAMValueRefSLList();
|
NDAMValueRef& operator () (Pix p) const;
|
NDAMValueRef& operator () (Pix p) const;
|
};
|
};
|
|
|
struct bar
|
struct bar
|
{
|
{
|
NDAMValueRefSLList *valueList;
|
NDAMValueRefSLList *valueList;
|
};
|
};
|
|
|
class nnyacc
|
class nnyacc
|
{
|
{
|
public:
|
public:
|
static void assign(void*& lval, void*& rval); // { dg-message "candidate is" }
|
static void assign(void*& lval, void*& rval); // { dg-message "candidate is" }
|
};
|
};
|
|
|
void
|
void
|
foo (bar yylval, bar *yyvsp)
|
foo (bar yylval, bar *yyvsp)
|
{
|
{
|
nnyacc::assign(yylval.valueList, yyvsp[0].valueList);// { dg-error "no matching" }
|
nnyacc::assign(yylval.valueList, yyvsp[0].valueList);// { dg-error "no matching" }
|
}
|
}
|
|
|