Author: kremenek
Date: Fri Sep 19 15:51:22 2008
New Revision: 56368

URL: http://llvm.org/viewvc/llvm-project?rev=56368&view=rev
Log:
Bug fix: for the base transfer function logic for casts, handle const casts as 
just propagating the value.

Modified:
    cfe/trunk/lib/Analysis/GRExprEngine.cpp

Modified: cfe/trunk/lib/Analysis/GRExprEngine.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/GRExprEngine.cpp?rev=56368&r1=56367&r2=56368&view=diff

==============================================================================
--- cfe/trunk/lib/Analysis/GRExprEngine.cpp (original)
+++ cfe/trunk/lib/Analysis/GRExprEngine.cpp Fri Sep 19 15:51:22 2008
@@ -1432,6 +1432,15 @@
       MakeNode(Dst, CastE, N, SetRVal(St, CastE, V));
       continue;
     }
+    
+    // For const casts, just propagate the value.
+    ASTContext& C = getContext();
+    
+    if (C.getCanonicalType(T).getUnqualifiedType() == 
+        C.getCanonicalType(ExTy).getUnqualifiedType()) {
+      MakeNode(Dst, CastE, N, SetRVal(St, CastE, V));
+      continue;
+    }
   
     // Check for casts from pointers to integers.
     if (T->isIntegerType() && LVal::IsLValType(ExTy)) {


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to