blob: cf014b0a3c8fa01b04f2e9e062bd7c3711eeeb6d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
/* { dg-additional-options "-fanalyzer-verbosity=2" } */
typedef struct FILE FILE;
FILE* fopen (const char*, const char*);
int fclose (FILE*);
extern int foo ();
extern void bar ();
void test (const char *path, int flag)
{
FILE *fp = fopen (path, "r"); /* { dg-message "opened here" } */
/* We shouldn't report this control flow at -fanalyzer-verbosity=2. */
if (foo ()) /* { dg-bogus "" } */
bar ();
else
bar ();
if (flag) /* { dg-message "when 'flag == 0'" } */
fclose (fp);
} /* { dg-warning "leak of FILE 'fp'" } */
|