36 lines
849 B
C
36 lines
849 B
C
/*
|
|
{ dg-do compile }
|
|
{ dg-options "-Wall" } */
|
|
|
|
typedef __SIZE_TYPE__ size_t;
|
|
|
|
int memcmp (const void*, const void*, size_t);
|
|
int strncmp (const char*, const char*, size_t);
|
|
char* stpncpy (char*, const char*, size_t);
|
|
char* strncpy (char*, const char*, size_t);
|
|
|
|
extern char a4[4], b5[5];
|
|
|
|
struct A { char a4[4]; };
|
|
|
|
extern volatile int i;
|
|
extern void* volatile ptr;
|
|
|
|
void test_stpncpy (struct A *p)
|
|
{
|
|
ptr = stpncpy (a4, b5, 4);
|
|
ptr = stpncpy (a4, b5, 5); // { dg-warning "writing 5 bytes" }
|
|
|
|
ptr = stpncpy (p->a4, b5, 4);
|
|
ptr = stpncpy (p->a4, b5, 5); // { dg-warning "writing 5 bytes" }
|
|
}
|
|
|
|
void test_strncpy (struct A *p)
|
|
{
|
|
ptr = strncpy (a4, b5, 4);
|
|
ptr = strncpy (a4, b5, 5); // { dg-warning "writing 5 bytes" }
|
|
|
|
ptr = strncpy (p->a4, b5, 4);
|
|
ptr = strncpy (p->a4, b5, 5); // { dg-warning "writing 5 bytes" }
|
|
}
|