From 86d07a11f164a5dc488842dc932c8fc587b35d4f Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Fri, 19 Mar 2010 19:45:03 +0000 Subject: [PATCH] Add test case for . git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98979 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Analysis/misc-ps-region-store.m | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/Analysis/misc-ps-region-store.m b/test/Analysis/misc-ps-region-store.m index 21a54c34d7..898a33efe1 100644 --- a/test/Analysis/misc-ps-region-store.m +++ b/test/Analysis/misc-ps-region-store.m @@ -888,3 +888,25 @@ char *rdar_7242010(int count, char **y) { return y[0]; // no-warning } +//===----------------------------------------------------------------------===// +// +//===----------------------------------------------------------------------===// + +struct rdar_7770737_s { intptr_t p; }; +void rdar_7770737_aux(struct rdar_7770737_s *p); +int rdar_7770737(void) +{ + int x; + + // Previously 'f' was not properly invalidated, causing the use of + // an uninitailized value below. + struct rdar_7770737_s f = { .p = (intptr_t)&x }; + rdar_7770737_aux(&f); + return x; // no-warning +} +int rdar_7770737_pos(void) +{ + int x; + struct rdar_7770737_s f = { .p = (intptr_t)&x }; + return x; // expected-warning{{Undefined or garbage value returned to caller}} +} -- 2.50.1