Cast earlier. We know we can get a DefinedSVal.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106084 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Checker/StreamChecker.cpp b/lib/Checker/StreamChecker.cpp
index 80c29a1..3061883 100644
--- a/lib/Checker/StreamChecker.cpp
+++ b/lib/Checker/StreamChecker.cpp
@@ -80,15 +80,15 @@
   const GRState *state = C.getState();
   unsigned Count = C.getNodeBuilder().getCurrentBlockCount();
   ValueManager &ValMgr = C.getValueManager();
-  SVal RetVal = ValMgr.getConjuredSymbolVal(0, CE, Count);
+  DefinedSVal RetVal = cast<DefinedSVal>(ValMgr.getConjuredSymbolVal(0, CE, 
+                                                                     Count));
   state = state->BindExpr(CE, RetVal);
 
   ConstraintManager &CM = C.getConstraintManager();
   // Bifurcate the state into two: one with a valid FILE* pointer, the other
   // with a NULL.
   const GRState *stateNotNull, *stateNull;
-  llvm::tie(stateNotNull, stateNull) 
-    = CM.AssumeDual(state, cast<DefinedSVal>(RetVal));
+  llvm::tie(stateNotNull, stateNull) = CM.AssumeDual(state, RetVal);
 
   C.addTransition(stateNotNull);
   C.addTransition(stateNull);