Dominic Chen | 184c624 | 2017-03-03 18:02:02 +0000 | [diff] [blame^] | 1 | // RUN: %clang_analyze_cc1 -analyzer-checker=core,unix.Malloc -Wno-incompatible-library-redeclaration -verify %s |
Devin Coughlin | 684d19d | 2016-10-16 22:19:03 +0000 | [diff] [blame] | 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 | |