Mercurial > hg > CbC > CbC_gcc
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'; +} +