1 // RUN: %clang_analyze_cc1 -analyzer-checker=core,unix.Malloc -Wno-incompatible-library-redeclaration -verify %s
2 
3 // Various tests to make the the analyzer is robust against custom
4 // redeclarations of memory routines.
5 //
6 // You wouldn't expect to see much of this in normal code, but, for example,
7 // CMake tests can generate these.
8 
9 // expected-no-diagnostics
10 
11 char alloca();
12 char malloc();
13 char realloc();
14 char kmalloc();
15 char valloc();
16 char calloc();
17 
18 char free();
19 char kfree();
20 
21 void testCustomArgumentlessAllocation() {
22   alloca(); // no-crash
23   malloc(); // no-crash
24   realloc(); // no-crash
25   kmalloc(); // no-crash
26   valloc(); // no-crash
27   calloc(); // no-crash
28 
29   free(); // no-crash
30   kfree(); // no-crash
31 }
32 
33