From 7b0368ee16b9abb8220050adb1dad8f43f092704 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 20 Feb 2004 23:27:09 +0000 Subject: Add two missing returns, which caused us to be very pessimistic about the printf and scanf families! llvm-svn: 11683 --- llvm/lib/Analysis/DataStructure/Local.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'llvm/lib/Analysis/DataStructure/Local.cpp') diff --git a/llvm/lib/Analysis/DataStructure/Local.cpp b/llvm/lib/Analysis/DataStructure/Local.cpp index a3a0e2ebc6b..88dd5a309a4 100644 --- a/llvm/lib/Analysis/DataStructure/Local.cpp +++ b/llvm/lib/Analysis/DataStructure/Local.cpp @@ -38,7 +38,6 @@ X("datastructure", "Local Data Structure Analysis"); static cl::opt TrackIntegersAsPointers("dsa-track-integers", cl::desc("If this is set, track integers as potential pointers")); - namespace llvm { namespace DS { @@ -581,6 +580,7 @@ void GraphBuilder::visitCallSite(CallSite CS) { if (DSNode *N = getValueDest(**AI).getNode()) N->setReadMarker(); } + return; } else if (F->getName() == "scanf" || F->getName() == "fscanf" || F->getName() == "sscanf") { CallSite::arg_iterator AI = CS.arg_begin(), E = CS.arg_end(); @@ -612,6 +612,7 @@ void GraphBuilder::visitCallSite(CallSite CS) { if (DSNode *N = getValueDest(**AI).getNode()) N->setModifiedMarker(); } + return; } else if (F->getName() == "strtok") { // strtok reads and writes the first argument, returning it. It reads // its second arg. FIXME: strtok also modifies some hidden static -- cgit v1.2.3