Do not use a class before it is defined.

Be gcc 3.4 clean


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9727 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-11-05 06:25:06 +00:00
parent 502dda001a
commit 414d9d2707
2 changed files with 18 additions and 12 deletions

View File

@ -111,10 +111,7 @@ public:
inline bool operator!=(const _Self& x) const { return !operator==(x); } inline bool operator!=(const _Self& x) const { return !operator==(x); }
inline _NodeType* operator*() const { inline _NodeType* operator*() const;
assert(cycleNum < S.groups.size());
return (*S.groups[cycleNum])[slotNum];
}
inline _NodeType* operator->() const { return operator*(); } inline _NodeType* operator->() const { return operator*(); }
_Self& operator++(); // Preincrement _Self& operator++(); // Preincrement
@ -201,11 +198,17 @@ public: // accessor functions to query chosen schedule
} }
private: private:
friend class iterator; friend class ScheduleIterator<SchedGraphNode>;
friend class const_iterator; friend class ScheduleIterator<const SchedGraphNode>;
/*ctor*/ InstrSchedule (); // Disable: DO NOT IMPLEMENT. /*ctor*/ InstrSchedule (); // Disable: DO NOT IMPLEMENT.
}; };
template<class NodeType>
inline NodeType *ScheduleIterator<NodeType>::operator*() const {
assert(cycleNum < S.groups.size());
return (*S.groups[cycleNum])[slotNum];
}
/*ctor*/ /*ctor*/
InstrSchedule::InstrSchedule(unsigned int _nslots, unsigned int _numNodes) InstrSchedule::InstrSchedule(unsigned int _nslots, unsigned int _numNodes)

View File

@ -111,10 +111,7 @@ public:
inline bool operator!=(const _Self& x) const { return !operator==(x); } inline bool operator!=(const _Self& x) const { return !operator==(x); }
inline _NodeType* operator*() const { inline _NodeType* operator*() const;
assert(cycleNum < S.groups.size());
return (*S.groups[cycleNum])[slotNum];
}
inline _NodeType* operator->() const { return operator*(); } inline _NodeType* operator->() const { return operator*(); }
_Self& operator++(); // Preincrement _Self& operator++(); // Preincrement
@ -201,11 +198,17 @@ public: // accessor functions to query chosen schedule
} }
private: private:
friend class iterator; friend class ScheduleIterator<SchedGraphNode>;
friend class const_iterator; friend class ScheduleIterator<const SchedGraphNode>;
/*ctor*/ InstrSchedule (); // Disable: DO NOT IMPLEMENT. /*ctor*/ InstrSchedule (); // Disable: DO NOT IMPLEMENT.
}; };
template<class NodeType>
inline NodeType *ScheduleIterator<NodeType>::operator*() const {
assert(cycleNum < S.groups.size());
return (*S.groups[cycleNum])[slotNum];
}
/*ctor*/ /*ctor*/
InstrSchedule::InstrSchedule(unsigned int _nslots, unsigned int _numNodes) InstrSchedule::InstrSchedule(unsigned int _nslots, unsigned int _numNodes)