| // RUN: %clang_analyze_cc1 -analyzer-checker=core,unix.Malloc -Wno-incompatible-library-redeclaration -verify %s |
| |
| // Various tests to make the 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(); |
| char malloc(); |
| char realloc(); |
| char kmalloc(); |
| char valloc(); |
| char calloc(); |
| |
| char free(); |
| char kfree(); |
| |
| void testCustomArgumentlessAllocation() { |
| alloca(); // no-crash |
| malloc(); // no-crash |
| realloc(); // no-crash |
| kmalloc(); // no-crash |
| valloc(); // no-crash |
| calloc(); // no-crash |
| |
| free(); // no-crash |
| kfree(); // no-crash |
| } |
| |