diff --git a/clang/test/Analysis/malloc.c b/clang/test/Analysis/malloc.c index 9961c471bd7d6..add5dc7fe8c21 100644 --- a/clang/test/Analysis/malloc.c +++ b/clang/test/Analysis/malloc.c @@ -8,6 +8,8 @@ #include "Inputs/system-header-simulator.h" void clang_analyzer_eval(int); +void clang_analyzer_dump(int); +void clang_analyzer_dumpExtent(void *); // Without -fms-compatibility, wchar_t isn't a builtin type. MSVC defines // _WCHAR_T_DEFINED if wchar_t is available. Microsoft recommends that you use @@ -1883,3 +1885,14 @@ void testMallocIntoMalloc() { s->memP = malloc(sizeof(int)); free(s); } // FIXME: should warn here + +int conjure(); +void testExtent() { + int x = conjure(); + clang_analyzer_dump(x); + // expected-warning-re@-1 {{{{^conj_\$[[:digit:]]+{int, LC1, S[[:digit:]]+, #1}}}}}} + int *p = (int *)malloc(x); + clang_analyzer_dumpExtent(p); + // expected-warning-re@-1 {{{{^conj_\$[[:digit:]]+{int, LC1, S[[:digit:]]+, #1}}}}}} + free(p); +}