diff options
author | Jordan Rose <jordan_rose@apple.com> | 2012-11-27 02:37:49 +0000 |
---|---|---|
committer | Jordan Rose <jordan_rose@apple.com> | 2012-11-27 02:37:49 +0000 |
commit | 3ba8c792e5cc62b3e54a695a4af6d13c077faa11 (patch) | |
tree | 5c01afe4090c59a54334642e2c691fbfc56a9e5c /clang/test/Analysis/malloc.c | |
parent | 8262b885da2553b5cb25608035320310a714f4b5 (diff) | |
download | bcm5719-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.c | 13 |
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() { |