aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td5
-rw-r--r--test/Sema/format-strings-scanf.c4
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}}
}