summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/format-strings-scanf.c
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2014-04-29 19:42:27 +0000
committerHans Wennborg <hans@hanshq.net>2014-04-29 19:42:27 +0000
commitdf51ee6c50f48749b738a324951dc2ed0d83333d (patch)
tree2f485a51c1db40fba3fb383ee80e66f93b677f21 /clang/test/Sema/format-strings-scanf.c
parent1a3f18b161dce9d9672b18a47e2432210b10c63e (diff)
downloadbcm5719-llvm-df51ee6c50f48749b738a324951dc2ed0d83333d.tar.gz
bcm5719-llvm-df51ee6c50f48749b738a324951dc2ed0d83333d.zip
scanf analysis: handle scanlists that start with ^] (PR19559)
llvm-svn: 207573
Diffstat (limited to 'clang/test/Sema/format-strings-scanf.c')
-rw-r--r--clang/test/Sema/format-strings-scanf.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/test/Sema/format-strings-scanf.c b/clang/test/Sema/format-strings-scanf.c
index 381447c84a6..d3a03adf619 100644
--- a/clang/test/Sema/format-strings-scanf.c
+++ b/clang/test/Sema/format-strings-scanf.c
@@ -86,6 +86,11 @@ void test_scanlist(int *ip, char *sp, wchar_t *ls) {
scanf("%h[abc]", sp); // expected-warning{{length modifier 'h' results in undefined behavior or no effect with '[' conversion specifier}}
scanf("%l[xyx]", ls); // no-warning
scanf("%ll[xyx]", ls); // expected-warning {{length modifier 'll' results in undefined behavior or no effect with '[' conversion specifier}}
+
+ // PR19559
+ scanf("%[]% ]", sp); // no-warning
+ scanf("%[^]% ]", sp); // no-warning
+ scanf("%[a^]% ]", sp); // expected-warning {{invalid conversion specifier ' '}}
}
void test_alloc_extension(char **sp, wchar_t **lsp, float *fp) {
OpenPOWER on IntegriCloud