Added back explicit state/node creation when visiting IntegerLiterals and
CharacterLiterals. This may not be a permanent solution; it doesn't cost that
much, however, to create a few additional states, and solves a whole bunch
of edge cases when handling ?, ||, and &&.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47299 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Analysis/ValueState.cpp b/Analysis/ValueState.cpp
index 0f29def..9638646 100644
--- a/Analysis/ValueState.cpp
+++ b/Analysis/ValueState.cpp
@@ -232,7 +232,7 @@
// Integer literals evaluate to an RValue. Simply retrieve the
// RValue for the literal.
-
+#if 0
case Stmt::IntegerLiteralClass:
return NonLValue::GetValue(ValMgr, cast<IntegerLiteral>(E));
@@ -242,6 +242,7 @@
return NonLValue::GetValue(ValMgr, C->getValue(), C->getType(),
C->getLoc());
}
+#endif
// Casts where the source and target type are the same
// are no-ops. We blast through these to get the descendant