| // 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 | |
| } | |