URL
https://opencores.org/ocsvn/scarts/scarts/trunk
Subversion Repositories scarts
[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.jason/] [synth10.C] - Rev 12
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;
};
};