From f5308fac1e8205a862fdcfe9e5c8f66cf3c9c4d3 Mon Sep 17 00:00:00 2001 From: Anna Zaks Date: Fri, 6 Dec 2013 19:28:16 +0000 Subject: [PATCH] Fixup to r196593. This is another regression fixed by reverting r189090. In this case, the problem is not live variables but the approach that was taken in r189090. This regression was caused by explicitly binding "true" to the condition when we take the true branch. Normally that's okay, but in this case we're planning to reuse that condition as the value of the expression. llvm-svn: 196599 --- clang/test/Analysis/malloc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/clang/test/Analysis/malloc.c b/clang/test/Analysis/malloc.c index a0296cb0036d..58d40a31a835 100644 --- a/clang/test/Analysis/malloc.c +++ b/clang/test/Analysis/malloc.c @@ -1290,6 +1290,12 @@ char *dupstrWarn(const char *s) { return p; } +int *radar15580979() { + int *data = (int *)malloc(32); + int *p = data ?: (int*)malloc(32); // no warning + return p; +} + // ---------------------------------------------------------------------------- // False negatives.