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); 21 void foo() { 22 bar(); 23 } 24