typedef struct FILE FILE; | |
FILE* fopen (const char*, const char*); | |
int fclose (FILE*); | |
struct foo | |
{ | |
FILE *m_f; | |
}; | |
void test (const char *path) | |
{ | |
struct foo f; | |
f.m_f = fopen (path, "r"); | |
if (!f.m_f) | |
return; /* { dg-bogus "leak of FILE" } */ | |
fclose (f.m_f); | |
fclose (f.m_f); /* { dg-warning "double 'fclose' of FILE 'f.m_f'" } */ | |
} | |
/* Swallow -Wuse-after-free issued for the same problem | |
{ dg-prune-output "-Wuse-after-free" } */ |