URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.brendan/] [overload3.C] - Rev 338
Compare with Previous | Blame | View Log
// { dg-do assemble }
// GROUPS passed overloading
typedef int rutBoolean;
class rutBigIntRep
{
public:
friend rutBoolean operator>(const rutBigIntRep& a, const rutBigIntRep& b);
operator rutBoolean() const;
protected:
enum Kluge {kluge};
rutBigIntRep(Kluge) {}
rutBigIntRep();
rutBigIntRep(const rutBigIntRep& value);
rutBigIntRep& operator=(const rutBigIntRep& value);
};
rutBoolean operator>(const rutBigIntRep& a, const rutBigIntRep& b) {
// This should not result in a warning. It used to warn about the
// conversion from int to enum while exploring the possibility of
// converting `a' via `operator rutBoolean', then using the
// rutBigIntRep(Kluge) constructor. It later realizes it shouldn't
// do this, but the call to build_type_conversion was ending up with
// a warning in convert.
rutBigIntRep diff(a);
return 0;
}