/* Spurious uninit variable warnings, case 3. Inspired by cppexp.c (parse_charconst) */ /* { dg-do compile } */ /* { dg-options "-O -Wuninitialized" } */ extern void error (char *); int parse_charconst (const char *start, const char *end) { int c; /* { dg-bogus "c" "uninitialized variable warning" } */ int nchars, retval; nchars = 0; retval = 0; while (start < end) { c = *start++; if (c == '\'') break; nchars++; retval += c; retval <<= 8; } if (nchars == 0) return 0; if (c != '\'') error ("malformed character constant"); return retval; }