diff options
Diffstat (limited to 'test/Analysis/diagnostics/false-positive-suppression.c')
-rw-r--r-- | test/Analysis/diagnostics/false-positive-suppression.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/Analysis/diagnostics/false-positive-suppression.c b/test/Analysis/diagnostics/false-positive-suppression.c new file mode 100644 index 000000000000..cdcd7cc77798 --- /dev/null +++ b/test/Analysis/diagnostics/false-positive-suppression.c @@ -0,0 +1,23 @@ +// RUN: %clang_cc1 -I %S/Inputs -analyze -analyzer-checker=core,unix -verify %s +// expected-no-diagnostics + +#include "include/sys/queue.h" + +typedef __typeof(sizeof(int)) size_t; +void *malloc(size_t); + +int radar12491259() { + int *p = malloc(12); + FREE_POINTER(p); + FREE_POINTER(p); // no-warning: we are suppressing errors coming from sys/queue macros. + return 0; +} + +#define MYMACRO(p) FREE_POINTER(p) + +int radar12491259_inside_macro() { + int *p = malloc(12); + MYMACRO(p); + MYMACRO(p); // no-warning: we are suppressing errors coming from sys/queue macros. + return 0; +} |