diff options
-rw-r--r-- | include/clang/Basic/DiagnosticSemaKinds.td | 5 | ||||
-rw-r--r-- | test/Sema/format-strings-scanf.c | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index 38c8b67472..9dac3f2422 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/include/clang/Basic/DiagnosticSemaKinds.td @@ -2941,7 +2941,7 @@ def warn_printf_incomplete_specifier : Warning< 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">, @@ -2984,6 +2984,9 @@ def warn_printf_nonsensical_length: Warning< 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< diff --git a/test/Sema/format-strings-scanf.c b/test/Sema/format-strings-scanf.c index cd68410693..63e81d4c74 100644 --- a/test/Sema/format-strings-scanf.c +++ b/test/Sema/format-strings-scanf.c @@ -9,6 +9,6 @@ int sscanf(const char * restrict, const char * restrict, ...) ; 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}} } |