24 lines · cpp
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 %s8 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 12typedef unsigned int size_t;13typedef struct FILE FILE;14size_t fread(void *, size_t, size_t, FILE *);15 16struct MyFile;17size_t fread(void *, size_t, size_t, MyFile *);18 19// Must have at least one call expression to initialize the summary map.20int bar(void);21void foo() {22 bar();23}24