forked from OSchip/llvm-project
Remove ProgramPoint parameter from GenericNodeBuilder::generateNode().
llvm-svn: 123240
This commit is contained in:
parent
5a384c86b2
commit
841df11dab
|
@ -119,6 +119,12 @@ public:
|
|||
return B->empty() ? CFGElement() : B->front();
|
||||
}
|
||||
|
||||
/// Create a new BlockEntrance object that is the same as the original
|
||||
/// except for using the specified tag value.
|
||||
BlockEntrance withTag(const void *tag) {
|
||||
return BlockEntrance(getBlock(), getLocationContext(), tag);
|
||||
}
|
||||
|
||||
static bool classof(const ProgramPoint* Location) {
|
||||
return Location->getKind() == BlockEntranceKind;
|
||||
}
|
||||
|
|
|
@ -428,18 +428,19 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
template <typename PP>
|
||||
template <typename PP_T>
|
||||
class GenericNodeBuilder : public GenericNodeBuilderImpl {
|
||||
public:
|
||||
GenericNodeBuilder(CoreEngine &eng, ExplodedNode *pr, const PP &p)
|
||||
GenericNodeBuilder(CoreEngine &eng, ExplodedNode *pr, const PP_T &p)
|
||||
: GenericNodeBuilderImpl(eng, pr, p) {}
|
||||
|
||||
ExplodedNode *generateNode(const GRState *state, ExplodedNode *pred,
|
||||
PP programPoint, bool asSink) {
|
||||
return generateNodeImpl(state, pred, programPoint, asSink);
|
||||
const void *tag, bool asSink) {
|
||||
return generateNodeImpl(state, pred, cast<PP_T>(pp).withTag(tag),
|
||||
asSink);
|
||||
}
|
||||
|
||||
const PP &getProgramPoint() const { return cast<PP>(pp); }
|
||||
const PP_T &getProgramPoint() const { return cast<PP_T>(pp); }
|
||||
};
|
||||
|
||||
class EndOfFunctionNodeBuilder {
|
||||
|
|
|
@ -1089,9 +1089,7 @@ void ExprEngine::processCFGBlockEntrance(ExplodedNodeSet &dstNodes,
|
|||
block->getBlockID()) >= AMgr.getMaxVisit()) {
|
||||
|
||||
static int tag = 0;
|
||||
const BlockEntrance &BE = nodeBuilder.getProgramPoint();
|
||||
BlockEntrance BE_tagged(BE.getBlock(), BE.getLocationContext(), &tag);
|
||||
nodeBuilder.generateNode(pred->getState(), pred, BE_tagged, true);
|
||||
nodeBuilder.generateNode(pred->getState(), pred, &tag, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue