/* | |
{ dg-do compile } | |
{ dg-options "-Wformat-overflow -std=c23" } | |
*/ | |
extern int sprintf (char* restrict, const char* restrict, ...); | |
void test_warn () { | |
int n = __INT_MAX__; | |
char dst [5] = {0}; | |
sprintf (dst, "%b", n); /* { dg-warning "-Wformat-overflow" } */ | |
sprintf (dst, "%#b", n); /* { dg-warning "-Wformat-overflow" } */ | |
} | |
void test_no_warn () { | |
char dst [5] = {0}; | |
int n = 8; | |
sprintf (dst, "%b", n); | |
char another_dst [34] = {0}; | |
n = __INT_MAX__; | |
sprintf (another_dst, "%#b", n); | |
} |