diff options
author | Martin Sebor <msebor@redhat.com> | 2018-08-20 23:03:55 +0000 |
---|---|---|
committer | Martin Sebor <msebor@gcc.gnu.org> | 2018-08-20 17:03:55 -0600 |
commit | 56c6d2673199f6074ae63321b7a257ce4535e06c (patch) | |
tree | a08396a5275f92c0597711b057026b9dd9729c00 | |
parent | 097f82ec9d19ccb5420c8df98cf35e1898b4fdab (diff) | |
download | gcc-56c6d2673199f6074ae63321b7a257ce4535e06c.zip gcc-56c6d2673199f6074ae63321b7a257ce4535e06c.tar.gz gcc-56c6d2673199f6074ae63321b7a257ce4535e06c.tar.bz2 |
PR tree-optimization/87034 - missing -Wformat-overflow on a sprintf %s with a wide string
gcc/testsuite/ChangeLog:
* gcc.dg/builtin-sprintf-warn-20.c: New test.
From-SVN: r263676
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-20.c | 22 |
2 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 969e036..3708a5c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-08-20 Martin Sebor <msebor@redhat.com> + + PR tree-optimization/87034 + * gcc.dg/builtin-sprintf-warn-20.c: New test. + 2018-08-20 David Malcolm <dmalcolm@redhat.com> PR other/84889 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-20.c b/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-20.c new file mode 100644 index 0000000..5966eab --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-20.c @@ -0,0 +1,22 @@ +/* PR tree-optimization/87034 - missing -Wformat-overflow on a sprintf + %s with a wide string + { dg-do compile } + { dg-options "-O2 -Wall -Wformat-overflow -ftrack-macro-expansion=0" } */ + +typedef __WCHAR_TYPE__ wchar_t; + +extern int sprintf (char*, const char*, ...); + +struct S +{ + char a[1]; + void (*pf)(void); +}; + +void test (struct S *p) +{ + const char *q = sizeof (wchar_t) == 2 + ? (char*)L"\x4142\x4344" : (char*)L"\x41424344\x45464748"; + + sprintf (p->a, "%s", q); /* { dg-warning "\\\[-Wformat-overflow" "pr87034" { xfail *-*-*} } */ +} |