summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/malloc.c
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-11-27 02:37:49 +0000
committerJordan Rose <jordan_rose@apple.com>2012-11-27 02:37:49 +0000
commit3ba8c792e5cc62b3e54a695a4af6d13c077faa11 (patch)
tree5c01afe4090c59a54334642e2c691fbfc56a9e5c /clang/test/Analysis/malloc.c
parent8262b885da2553b5cb25608035320310a714f4b5 (diff)
downloadbcm5719-llvm-3ba8c792e5cc62b3e54a695a4af6d13c077faa11.tar.gz
bcm5719-llvm-3ba8c792e5cc62b3e54a695a4af6d13c077faa11.zip
[analyzer] Fix test to work on non-LP64 systems.
Thanks for the original catch in r168303, Takumi. llvm-svn: 168671
Diffstat (limited to 'clang/test/Analysis/malloc.c')
-rw-r--r--clang/test/Analysis/malloc.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/clang/test/Analysis/malloc.c b/clang/test/Analysis/malloc.c
index 615c5a43d10..3e5f914e9d9 100644
--- a/clang/test/Analysis/malloc.c
+++ b/clang/test/Analysis/malloc.c
@@ -1,5 +1,4 @@
// RUN: %clang_cc1 -analyze -analyzer-checker=core,alpha.deadcode.UnreachableCode,alpha.core.CastSize,unix.Malloc,debug.ExprInspection -analyzer-store=region -verify %s
-// REQUIRES: LP64
#include "Inputs/system-header-simulator.h"
@@ -947,20 +946,24 @@ void localStructTest() {
pSt->memP = malloc(12);
} // expected-warning{{Memory is never released; potential leak}}
+#ifdef __INTPTR_TYPE__
// Test double assignment through integers.
-static long glob;
+typedef __INTPTR_TYPE__ intptr_t;
+typedef unsigned __INTPTR_TYPE__ uintptr_t;
+
+static intptr_t glob;
void test_double_assign_ints()
{
void *ptr = malloc (16); // no-warning
- glob = (long)(unsigned long)ptr;
+ glob = (intptr_t)(uintptr_t)ptr;
}
void test_double_assign_ints_positive()
{
void *ptr = malloc(16);
- (void*)(long)(unsigned long)ptr; // expected-warning {{unused}}
+ (void*)(intptr_t)(uintptr_t)ptr; // expected-warning {{unused}}
} // expected-warning {{leak}}
-
+#endif
void testCGContextNoLeak()
{
OpenPOWER on IntegriCloud