def warn_missing_format_string : Warning<
"format string missing">, InGroup<Format>;
def warn_scanf_nonzero_width : Warning<
- "conversion specifies 0 input characters for field width">,
+ "zero field width in scanf format string is unused">,
InGroup<Format>;
def warn_printf_conversion_argument_type_mismatch : Warning<
"conversion specifies type %0 but the argument has type %1">,
def warn_printf_ignored_flag: Warning<
"flag '%0' is ignored when flag '%1' is present">,
InGroup<Format>;
+def warn_scanf_scanlist_incomplete : Warning<
+ "scanlist not terminated in format string">,
+ InGroup<Format>;
// CHECK: returning address/reference of stack memory
def warn_ret_stack_addr : Warning<
void test(const char *s, int *i) {
scanf(s, i); // expected-warning{{ormat string is not a string literal}}
- scanf("%0d", i); // expected-warning{{conversion specifies 0 input characters for field width}}
- scanf("%00d", i); // expected-warning{{conversion specifies 0 input characters for field width}}
+ scanf("%0d", i); // expected-warning{{zero field width in scanf format string is unused}}
+ scanf("%00d", i); // expected-warning{{zero field width in scanf format string is unused}}
}