1 // Like the compiler, the static analyzer treats some functions differently if
2 // they come from a system header -- for example, it is assumed that system
3 // functions do not arbitrarily free() their parameters, and that some bugs
4 // found in system headers cannot be fixed by the user and should be
6 #pragma clang system_header
8 typedef __typeof(sizeof(int)) size_t;
12 FILE *fopen(const char *restrict
, const char *restrict
) __asm("_" "fopen" );
13 int fputc(int, FILE *);
14 int fputs(const char *restrict
, FILE *restrict
) __asm("_" "fputs" );
15 size_t fread(void *buffer
, size_t size
, size_t count
, FILE *stream
);
16 int fgetc(FILE *stream
);
20 // The following is a fake system header function
21 typedef struct __FileStruct
{
24 void fakeSystemHeaderCall(FileStruct
*);