Clang Project

clang_source_code/test/Analysis/valist-as-lazycompound.c
1// RUN: %clang_analyze_cc1 -triple gcc-linaro-arm-linux-gnueabihf -analyzer-checker=core,valist.Uninitialized,valist.CopyToSelf -analyzer-output=text -analyzer-store=region -verify %s
2// expected-no-diagnostics
3
4typedef unsigned int size_t;
5typedef __builtin_va_list __gnuc_va_list;
6typedef __gnuc_va_list va_list;
7
8extern int vsprintf(char *__restrict __s,
9                    const char *__restrict __format, __gnuc_va_list
10                                                         __arg);
11
12void _dprintf(const char *function, int flen, int line, int level,
13             const char *prefix, const char *fmt, ...) {
14  char raw[10];
15  int err;
16  va_list ap;
17
18  __builtin_va_start(ap, fmt);
19  err = vsprintf(raw, fmt, ap);
20  __builtin_va_end(ap);
21}
22