// RUN: %clang_analyze_cc1 -analyzer-checker=core,unix.Malloc -Wno-incompatible-library-redeclaration -verify %s
// Various tests to make the analyzer is robust against custom
// redeclarations of memory routines.
//
// You wouldn't expect to see much of this in normal code, but, for example,
// CMake tests can generate these.
// expected-no-diagnostics
char alloca(void);
char malloc(void);
char realloc(void);
char kmalloc(void);
char valloc(void);
char calloc(void);
char free(void);
char kfree(void);
void testCustomArgumentlessAllocation(void) {
alloca(); // no-crash
malloc(); // no-crash
realloc(); // no-crash
kmalloc(); // no-crash
valloc(); // no-crash
calloc(); // no-crash
free(); // no-crash
kfree(); // no-crash
}