diff options
Diffstat (limited to 'test/Analysis/Inputs/system-header-simulator-for-simple-stream.h')
-rw-r--r-- | test/Analysis/Inputs/system-header-simulator-for-simple-stream.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/test/Analysis/Inputs/system-header-simulator-for-simple-stream.h b/test/Analysis/Inputs/system-header-simulator-for-simple-stream.h index 99986f4..b65b7a6 100644 --- a/test/Analysis/Inputs/system-header-simulator-for-simple-stream.h +++ b/test/Analysis/Inputs/system-header-simulator-for-simple-stream.h @@ -1,4 +1,8 @@ - +// Like the compiler, the static analyzer treats some functions differently if +// they come from a system header -- for example, it is assumed that system +// functions do not arbitrarily free() their parameters, and that some bugs +// found in system headers cannot be fixed by the user and should be +// suppressed. #pragma clang system_header typedef struct __sFILE { @@ -9,3 +13,9 @@ int fputc(int, FILE *); int fputs(const char * restrict, FILE * restrict) __asm("_" "fputs" ); int fclose(FILE *); void exit(int); + +// The following is a fake system header function +typedef struct __FileStruct { + FILE * p; +} FileStruct; +void fakeSystemHeaderCall(FileStruct *); |