[cfe-commits] r160444 - in /cfe/trunk: include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp

Jordan Rose jordan_rose at apple.com
Wed Jul 18 13:24:13 PDT 2012


It does change functionality, but in a good way: we should have been doing that all along. (The branch will almost never fire, though, because almost any argument to CFRetain and friends will already have an associated symbol.)

Thanks, Ben!


On Jul 18, 2012, at 12:08 , Benjamin Kramer <benny.kra at googlemail.com> wrote:

> Author: d0k
> Date: Wed Jul 18 14:08:44 2012
> New Revision: 160444
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=160444&view=rev
> Log:
> Remove trivial destructor from SVal.
> 
> This enables the faster SmallVector in clang and also allows clang's unused
> variable warnings to be more effective. Fix the two instances that popped up.
> 
> The RetainCountChecker change actually changes functionality, it would be nice
> if someone from the StaticAnalyzer folks could look at it.
> 
> Modified:
>    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
>    cfe/trunk/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
>    cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
> 
> Modified: cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h?rev=160444&r1=160443&r2=160444&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h (original)
> +++ cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h Wed Jul 18 14:08:44 2012
> @@ -68,7 +68,6 @@
> 
> public:
>   explicit SVal() : Data(0), Kind(0) {}
> -  ~SVal() {}
> 
>   /// BufferTy - A temporary buffer to hold a set of SVals.
>   typedef SmallVector<SVal,5> BufferTy;
> 
> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp?rev=160444&r1=160443&r2=160444&view=diff
> ==============================================================================
> --- cfe/trunk/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp (original)
> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp Wed Jul 18 14:08:44 2012
> @@ -559,7 +559,6 @@
>   if (CE->getNumArgs() < 2)
>     return State;
> 
> -  SVal x = State->getSVal(CE->getArg(1), C.getLocationContext());
>   // All arguments except for the very first one should get taint.
>   for (unsigned int i = 1; i < CE->getNumArgs(); ++i) {
>     // The arguments are pointer arguments. The data they are pointing at is
> 
> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp?rev=160444&r1=160443&r2=160444&view=diff
> ==============================================================================
> --- cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp (original)
> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp Wed Jul 18 14:08:44 2012
> @@ -3168,7 +3168,7 @@
>     // If the receiver is unknown, conjure a return value.
>     SValBuilder &SVB = C.getSValBuilder();
>     unsigned Count = C.getCurrentBlockCount();
> -    SVal RetVal = SVB.getConjuredSymbolVal(0, CE, LCtx, ResultTy, Count);
> +    RetVal = SVB.getConjuredSymbolVal(0, CE, LCtx, ResultTy, Count);
>   }
>   state = state->BindExpr(CE, LCtx, RetVal, false);
> 
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits




More information about the cfe-commits mailing list