
Summary: Replace calls to %clang/%clang_cc1 with %clang_analyze_cc1 when invoking static analyzer, and perform runtime substitution to select the appropriate constraint manager, per D28952. Reviewers: xazax.hun, NoQ, zaks.anna, dcoughlin Subscribers: mgorny, rgov, mikhail.ramalho, a.sidorin, cfe-commits Differential Revision: https://reviews.llvm.org/D30373 llvm-svn: 296895
24 lines
592 B
C
24 lines
592 B
C
// RUN: %clang_analyze_cc1 -I %S/Inputs -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;
|
|
}
|