As much as I dislike doing this, it's the only fix for VC8.0 that I can come

up with, even though it's perfectly conformant code.  :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14034 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-06-05 00:11:27 +00:00
parent e1cacce400
commit f878218c97

View File

@ -181,7 +181,8 @@ void BasicBlock::removePredecessor(BasicBlock *Pred) {
} else {
// Okay, now we know that we need to remove predecessor #pred_idx from all
// PHI nodes. Iterate over each PHI node fixing them up
for (iterator II = begin(); PHINode *PN = dyn_cast<PHINode>(II); ++II)
PHINode *PN;
for (iterator II = begin(); PN = dyn_cast<PHINode>(II); ++II)
PN->removeIncomingValue(Pred);
}
}
@ -221,8 +222,9 @@ BasicBlock *BasicBlock::splitBasicBlock(iterator I, const std::string &BBName) {
// Loop over any phi nodes in the basic block, updating the BB field of
// incoming values...
BasicBlock *Successor = *I;
PHINode *PN;
for (BasicBlock::iterator II = Successor->begin();
PHINode *PN = dyn_cast<PHINode>(II); ++II) {
PN = dyn_cast<PHINode>(II); ++II) {
int IDX = PN->getBasicBlockIndex(this);
while (IDX != -1) {
PN->setIncomingBlock((unsigned)IDX, New);