aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-02-20 23:27:09 +0000
committerChris Lattner <sabre@nondot.org>2004-02-20 23:27:09 +0000
commit4e46e320a5f502559744ddeab2cad831cdd3056a (patch)
tree8df5fa8b00038889d895b29e449cbb3a2d85c747
parent01533ff6526fd31ed4d5c9768dae65ccb1126d92 (diff)
downloadexternal_llvm-4e46e320a5f502559744ddeab2cad831cdd3056a.zip
external_llvm-4e46e320a5f502559744ddeab2cad831cdd3056a.tar.gz
external_llvm-4e46e320a5f502559744ddeab2cad831cdd3056a.tar.bz2
Add two missing returns, which caused us to be very pessimistic about the
printf and scanf families! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11683 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Analysis/DataStructure/GraphChecker.cpp2
-rw-r--r--lib/Analysis/DataStructure/Local.cpp3
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/Analysis/DataStructure/GraphChecker.cpp b/lib/Analysis/DataStructure/GraphChecker.cpp
index 5cbd5ba..af8731e 100644
--- a/lib/Analysis/DataStructure/GraphChecker.cpp
+++ b/lib/Analysis/DataStructure/GraphChecker.cpp
@@ -12,7 +12,7 @@
// or not a node is collapsed, etc. These are the command line arguments that
// it supports:
//
-// --dsgc-dsapass={local,bu,td} - Specify what flavor of graph to check
+// --dsgc-dspass={local,bu,td} - Specify what flavor of graph to check
// --dsgc-abort-if-any-collapsed - Abort if any collapsed nodes are found
// --dsgc-abort-if-collapsed=<list> - Abort if a node pointed to by an SSA
// value with name in <list> is collapsed
diff --git a/lib/Analysis/DataStructure/Local.cpp b/lib/Analysis/DataStructure/Local.cpp
index a3a0e2e..88dd5a3 100644
--- a/lib/Analysis/DataStructure/Local.cpp
+++ b/lib/Analysis/DataStructure/Local.cpp
@@ -38,7 +38,6 @@ X("datastructure", "Local Data Structure Analysis");
static cl::opt<bool>
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