Add two missing returns, which caused us to be very pessimistic about the
authorChris Lattner <sabre@nondot.org>
Fri, 20 Feb 2004 23:27:09 +0000 (23:27 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 20 Feb 2004 23:27:09 +0000 (23:27 +0000)
printf and scanf families!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11683 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/DataStructure/GraphChecker.cpp
lib/Analysis/DataStructure/Local.cpp

index 5cbd5ba762997853a612aee5665ed0d6109c1082..af8731eb05c01934e7c166891be26d97d6ff6257 100644 (file)
@@ -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
index a3a0e2ebc6b575ea74479baed9d43aa54112207c..88dd5a309a46727859586c728f8017e78d59998d 100644 (file)
@@ -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