]> granicus.if.org Git - clang/commitdiff
Remove ImplicitBadDivides/ExplicitBadDivides node sets. This checking is now down...
authorTed Kremenek <kremenek@apple.com>
Wed, 16 Sep 2009 06:03:39 +0000 (06:03 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 16 Sep 2009 06:03:39 +0000 (06:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82017 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Analysis/PathSensitive/GRExprEngine.h
lib/Analysis/GRExprEngine.cpp

index 1e016797284b397effaa1f0db079da04de51af4a..60a59d496881df70e9af3527cd35b8a18bb26d95 100644 (file)
@@ -138,16 +138,6 @@ public:
   ///  taking a dereference on an undefined value.
   ErrorNodes UndefDeref;
 
-  /// ImplicitBadDivides - Nodes in the ExplodedGraph that result from
-  ///  evaluating a divide or modulo operation where the denominator
-  ///  MAY be zero.
-  ErrorNodes ImplicitBadDivides;
-
-  /// ExplicitBadDivides - Nodes in the ExplodedGraph that result from
-  ///  evaluating a divide or modulo operation where the denominator
-  ///  MUST be zero or undefined.
-  ErrorNodes ExplicitBadDivides;
-
   /// ImplicitBadSizedVLA - Nodes in the ExplodedGraph that result from
   ///  constructing a zero-sized VLA where the size may be zero.
   ErrorNodes ImplicitBadSizedVLA;
@@ -255,14 +245,6 @@ public:
     return N->isSink() && UndefDeref.count(const_cast<ExplodedNode*>(N)) != 0;
   }
 
-  bool isImplicitBadDivide(const ExplodedNode* N) const {
-    return N->isSink() && ImplicitBadDivides.count(const_cast<ExplodedNode*>(N)) != 0;
-  }
-
-  bool isExplicitBadDivide(const ExplodedNode* N) const {
-    return N->isSink() && ExplicitBadDivides.count(const_cast<ExplodedNode*>(N)) != 0;
-  }
-
   bool isNoReturnCall(const ExplodedNode* N) const {
     return N->isSink() && NoReturnCalls.count(const_cast<ExplodedNode*>(N)) != 0;
   }
@@ -334,24 +316,6 @@ public:
   undef_deref_iterator undef_derefs_begin() { return UndefDeref.begin(); }
   undef_deref_iterator undef_derefs_end() { return UndefDeref.end(); }
 
-  typedef ErrorNodes::iterator bad_divide_iterator;
-
-  bad_divide_iterator explicit_bad_divides_begin() {
-    return ExplicitBadDivides.begin();
-  }
-
-  bad_divide_iterator explicit_bad_divides_end() {
-    return ExplicitBadDivides.end();
-  }
-
-  bad_divide_iterator implicit_bad_divides_begin() {
-    return ImplicitBadDivides.begin();
-  }
-
-  bad_divide_iterator implicit_bad_divides_end() {
-    return ImplicitBadDivides.end();
-  }
-
   typedef ErrorNodes::iterator undef_result_iterator;
   undef_result_iterator undef_results_begin() { return UndefResults.begin(); }
   undef_result_iterator undef_results_end() { return UndefResults.end(); }
index 251a4b75557eaa3f9a39c88070f45b35c308742d..821dbbf2675aea93121b2ca33b519c882047e8dc 100644 (file)
@@ -2973,8 +2973,6 @@ struct VISIBILITY_HIDDEN DOTGraphTraits<ExplodedNode*> :
         GraphPrintCheckerState->isUndefDeref(N) ||
         GraphPrintCheckerState->isUndefStore(N) ||
         GraphPrintCheckerState->isUndefControlFlow(N) ||
-        GraphPrintCheckerState->isExplicitBadDivide(N) ||
-        GraphPrintCheckerState->isImplicitBadDivide(N) ||
         GraphPrintCheckerState->isUndefResult(N) ||
         GraphPrintCheckerState->isBadCall(N) ||
         GraphPrintCheckerState->isUndefArg(N))
@@ -3042,10 +3040,6 @@ struct VISIBILITY_HIDDEN DOTGraphTraits<ExplodedNode*> :
             Out << "\\|Dereference of undefialied value.\\l";
           else if (GraphPrintCheckerState->isUndefStore(N))
             Out << "\\|Store to Undefined Loc.";
-          else if (GraphPrintCheckerState->isExplicitBadDivide(N))
-            Out << "\\|Explicit divide-by zero or undefined value.";
-          else if (GraphPrintCheckerState->isImplicitBadDivide(N))
-            Out << "\\|Implicit divide-by zero or undefined value.";
           else if (GraphPrintCheckerState->isUndefResult(N))
             Out << "\\|Result of operation is undefined.";
           else if (GraphPrintCheckerState->isNoReturnCall(N))