aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/BasicStore.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-03-23 15:42:58 +0000
committerTed Kremenek <kremenek@apple.com>2009-03-23 15:42:58 +0000
commit693de5d7feb92c096431c98ea6ee637494bfe6fb (patch)
tree3c63306726527897849577d4a3e1acfd3c338789 /lib/Analysis/BasicStore.cpp
parent6a15ff9d9a2c62e7ea88e93b2b87fcb8eaf699cb (diff)
analyzer: Fix embarrassing regression in BasicStore when invalidating struct
values passed-by-reference to unknown functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67519 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/BasicStore.cpp')
-rw-r--r--lib/Analysis/BasicStore.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Analysis/BasicStore.cpp b/lib/Analysis/BasicStore.cpp
index b883f88061..01260480d1 100644
--- a/lib/Analysis/BasicStore.cpp
+++ b/lib/Analysis/BasicStore.cpp
@@ -525,6 +525,10 @@ Store BasicStoreManager::getInitialStore() {
// Punt on static variables for now.
if (VD->getStorageClass() == VarDecl::Static)
continue;
+
+ // Only handle simple types that we can symbolicate.
+ if (!SymbolManager::canSymbolicate(VD->getType()))
+ continue;
// Initialize globals and parameters to symbolic values.
// Initialize local variables to undefined.