builtin-sprintf-warn-1.c: Add test cases.
gcc/testsuite/ChangeLog: * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Add test cases. From-SVN: r244999
This commit is contained in:
parent
1f44286be0
commit
eb33936649
|
@ -1,3 +1,7 @@
|
|||
2017-01-27 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Add test cases.
|
||||
|
||||
2017-01-27 Bernd Schmidt <bschmidt@redhat.com>
|
||||
|
||||
PR rtl-optimization/79194
|
||||
|
|
|
@ -76,10 +76,24 @@ int dummy___vsnprintf_chk (char*, size_t, int, size_t, const char*, va_list);
|
|||
/* Macro to verify that calls to __builtin_sprintf (i.e., with no size
|
||||
argument) issue diagnostics by correctly determining the size of
|
||||
the destination buffer. */
|
||||
#define T(size, fmt, ...) \
|
||||
(FUNC (sprintf) (buffer (size), fmt, __VA_ARGS__), \
|
||||
#define T(size, ...) \
|
||||
(FUNC (sprintf) (buffer (size), __VA_ARGS__), \
|
||||
sink (buffer, ptr))
|
||||
|
||||
/* Exercise the "%%" directive. */
|
||||
|
||||
void test_sprintf_percent (void)
|
||||
{
|
||||
T (-1, "%%");
|
||||
T ( 0, "%%"); /* { dg-warning ".%%. directive writing 1 byte into a region of size 0" } */
|
||||
T ( 1, "%%"); /* { dg-warning "writing a terminating nul past the end" } */
|
||||
T ( 2, "%%");
|
||||
T ( 2, "%%%%"); /* { dg-warning "writing a terminating nul past the end" } */
|
||||
T ( 3, "%%%%");
|
||||
T ( 3, "%%X%%"); /* { dg-warning "writing a terminating nul past the end" } */
|
||||
T ( 4, "%%X%%");
|
||||
}
|
||||
|
||||
/* Exercise the "%c" and "%lc" directive with constant arguments. */
|
||||
|
||||
void test_sprintf_c_const (void)
|
||||
|
|
Loading…
Reference in New Issue