diff gcc/testsuite/gcc.dg/tree-ssa/pr36550.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr36550.c	Thu Oct 25 07:37:49 2018 +0900
@@ -0,0 +1,25 @@
+/* { dg-do compile } */
+/* { dg-options "-Os -Wuninitialized" } */
+void bail(void) __attribute__((noreturn));
+unsigned once(void);
+int pr(char**argv)
+{
+	char *bug;
+	unsigned check = once();
+	if (check) {
+		if (*argv)
+			bug = *++argv;
+	} else {
+		bug = *argv++;
+		if (!*argv)
+			bail();
+	}
+	/* now bug is set except if (check && !*argv) */
+	if (check) {
+		if (!*argv)
+			return 0;
+	}
+	/* if we ever get here then bug is set */
+	return *bug != 'X';
+}
+