URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.old-deja/] [g++.jason/] [synth10.C] - Rev 699
Compare with Previous | Blame | View Log
// { dg-do assemble }
// { dg-options "-O" }
// Bug: Synthesizing methods for the nested class screwed up current_class_decl
// for the outer class.
class A;
class AH
{
public:
AH ( A * p = 0 );
AH ( const AH & from )
: pointer( from.pointer ) { inc(); }
~ AH () { dec(); }
private:
A * pointer;
void inc() const;
void dec() const;
};
class A
{
protected:
struct AttrTable
{
struct Row
{
};
};
public:
class Attributes
{
public:
class iterator
{
public:
iterator() : mo(0), attr(0) {}
iterator& operator++() { ++attr; return *this; }
iterator operator++(int)
{ iterator tmp = *this; ++*this; return tmp; }
private:
AH mo;
const AttrTable::Row* attr;
};
Attributes(AH mo)
: mo(mo) {}
AH mo;
};
};