forked from OSchip/llvm-project
parent
d996e543eb
commit
9ccb1af08f
|
@ -484,10 +484,15 @@ void GraphBuilder::visitCallSite(CallSite CS) {
|
||||||
N->setHeapNodeMarker()->setModifiedMarker()->setReadMarker();
|
N->setHeapNodeMarker()->setModifiedMarker()->setReadMarker();
|
||||||
return;
|
return;
|
||||||
} else if (F->getName() == "atoi" || F->getName() == "atof" ||
|
} else if (F->getName() == "atoi" || F->getName() == "atof" ||
|
||||||
F->getName() == "remove") {
|
F->getName() == "remove" || F->getName() == "unlink" ||
|
||||||
// atoi reads its argument.
|
F->getName() == "rename") {
|
||||||
if (DSNode *N = getValueDest(**CS.arg_begin()).getNode())
|
// These functions read all of their pointer operands.
|
||||||
N->setReadMarker();
|
for (CallSite::arg_iterator AI = CS.arg_begin(), E = CS.arg_end();
|
||||||
|
AI != E; ++AI) {
|
||||||
|
if (isPointerType((*AI)->getType()))
|
||||||
|
if (DSNode *N = getValueDest(**AI).getNode())
|
||||||
|
N->setReadMarker();
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
|
||||||
} else if (F->getName() == "fopen" && CS.arg_end()-CS.arg_begin() == 2){
|
} else if (F->getName() == "fopen" && CS.arg_end()-CS.arg_begin() == 2){
|
||||||
|
|
Loading…
Reference in New Issue