xref: /llvm-project/clang/test/Analysis/std-c-library-functions-lookup.cpp (revision c202a17d024068c70364116f2d06535d79535b30)
1 // RUN: %clang_analyze_cc1 %s \
2 // RUN:   -analyzer-checker=core \
3 // RUN:   -analyzer-checker=unix.StdCLibraryFunctions \
4 // RUN:   -analyzer-config unix.StdCLibraryFunctions:DisplayLoadedSummaries=true \
5 // RUN:   -analyzer-checker=debug.ExprInspection \
6 // RUN:   -analyzer-config eagerly-assume=false \
7 // RUN:   -triple i686-unknown-linux 2>&1 | FileCheck %s
8 
9 //      CHECK: Loaded summary for: size_t fread(void *, size_t, size_t, FILE *)
10 //  CHECK-NOT: Loaded summary for: size_t fread(void *, size_t, size_t, MyFile *)
11 
12 typedef unsigned int size_t;
13 typedef struct FILE FILE;
14 size_t fread(void *, size_t, size_t, FILE *);
15 
16 struct MyFile;
17 size_t fread(void *, size_t, size_t, MyFile *);
18 
19 // Must have at least one call expression to initialize the summary map.
20 int bar(void);
foo()21 void foo() {
22   bar();
23 }
24