xref: /aosp_15_r20/external/clang/test/Analysis/diagnostics/false-positive-suppression.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -I %S/Inputs -analyze -analyzer-checker=core,unix -verify %s
2*67e74705SXin Li // expected-no-diagnostics
3*67e74705SXin Li 
4*67e74705SXin Li #include "include/sys/queue.h"
5*67e74705SXin Li 
6*67e74705SXin Li typedef __typeof(sizeof(int)) size_t;
7*67e74705SXin Li void *malloc(size_t);
8*67e74705SXin Li 
radar12491259()9*67e74705SXin Li int radar12491259() {
10*67e74705SXin Li     int *p = malloc(12);
11*67e74705SXin Li     FREE_POINTER(p);
12*67e74705SXin Li     FREE_POINTER(p); // no-warning: we are suppressing errors coming from sys/queue macros.
13*67e74705SXin Li     return 0;
14*67e74705SXin Li }
15*67e74705SXin Li 
16*67e74705SXin Li #define MYMACRO(p) FREE_POINTER(p)
17*67e74705SXin Li 
radar12491259_inside_macro()18*67e74705SXin Li int radar12491259_inside_macro() {
19*67e74705SXin Li     int *p = malloc(12);
20*67e74705SXin Li     MYMACRO(p);
21*67e74705SXin Li     MYMACRO(p); // no-warning: we are suppressing errors coming from sys/queue macros.
22*67e74705SXin Li     return 0;
23*67e74705SXin Li }
24