1 /* { dg-do compile } */
2 /* { dg-options "-Os -Wuninitialized" } */
3 void bail(void) __attribute__((noreturn));
4 unsigned once(void);
pr(char ** argv)5 int pr(char**argv)
6 {
7 	char *bug;
8 	unsigned check = once();
9 	if (check) {
10 		if (*argv)
11 			bug = *++argv;
12 	} else {
13 		bug = *argv++;
14 		if (!*argv)
15 			bail();
16 	}
17 	/* now bug is set except if (check && !*argv) */
18 	if (check) {
19 		if (!*argv)
20 			return 0;
21 	}
22 	/* if we ever get here then bug is set */
23 	return *bug != 'X';
24 }
25 
26