1 // RUN: %clang_analyze_cc1 %s \
2 // RUN:   -analyzer-checker=core \
3 // RUN:   -analyzer-checker=apiModeling.StdCLibraryFunctions \
4 // RUN:   -analyzer-config apiModeling.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