Constify SDNodeIterator an stop its only non-const user being cast stripped

of its constness. Found by gcc48 -Wcast-qual.

llvm-svn: 163254
This commit is contained in:
Roman Divacky 2012-09-05 22:03:34 +00:00
parent 0e1adc6085
commit 665260222f
2 changed files with 5 additions and 5 deletions

View File

@ -1745,10 +1745,10 @@ public:
class SDNodeIterator : public std::iterator<std::forward_iterator_tag,
SDNode, ptrdiff_t> {
SDNode *Node;
const SDNode *Node;
unsigned Operand;
SDNodeIterator(SDNode *N, unsigned Op) : Node(N), Operand(Op) {}
SDNodeIterator(const SDNode *N, unsigned Op) : Node(N), Operand(Op) {}
public:
bool operator==(const SDNodeIterator& x) const {
return Operand == x.Operand;
@ -1779,8 +1779,8 @@ public:
return Operand - Other.Operand;
}
static SDNodeIterator begin(SDNode *N) { return SDNodeIterator(N, 0); }
static SDNodeIterator end (SDNode *N) {
static SDNodeIterator begin(const SDNode *N) { return SDNodeIterator(N, 0); }
static SDNodeIterator end (const SDNode *N) {
return SDNodeIterator(N, N->getNumOperands());
}

View File

@ -49,7 +49,7 @@ namespace llvm {
template<typename EdgeIter>
static std::string getEdgeSourceLabel(const void *Node, EdgeIter I) {
return itostr(I - SDNodeIterator::begin((SDNode *) Node));
return itostr(I - SDNodeIterator::begin((const SDNode *) Node));
}
/// edgeTargetsEdgeSource - This method returns true if this outgoing edge