blob: a95960e751a23d9f5d158ff210b668e184971e22 [file] [log] [blame]
/* PR tree-optimization/83603 - ICE in builtin_memref at
gcc/gimple-ssa-warn-restrict.c:238
Test to verify that invalid calls to built-in functions declared
without a prototype don't cause an ICE.
{ dg-do compile }
{ dg-prune-output "conflicting types for built-in" }
{ dg-options "-O2 -Warray-bounds -Wrestrict" } */
void* memcpy ();
void* memmove ();
char* stpcpy ();
char* strcat ();
char* strcpy ();
char* strncat ();
char* strncpy ();
void* test_memcpy_0 ()
{
return memcpy ();
}
void* test_memcpy_1 (void *d)
{
return memcpy (d);
}
void* test_memcpy_2 (void *d, const void *s)
{
return memcpy (d, s);
}
void* test_memmove_0 ()
{
return memmove ();
}
void* test_memmove_1 (void *d)
{
return memmove (d);
}
void* test_memmove_2 (void *d, const void *s)
{
return memmove (d, s);
}
void* test_stpcpy_0 ()
{
return stpcpy ();
}
void* test_stpcpy_1 (char *d)
{
return stpcpy (d);
}
char* test_strcat_0 ()
{
return strcat ();
}
char* test_strcat_1 (char *d)
{
return strcat (d);
}
void* test_strcpy_0 ()
{
return strcpy ();
}
void* test_strcpy_1 (char *d)
{
return strcpy (d);
}
char* test_strncat_0 ()
{
return strncat ();
}
char* test_strncat_1 (char *d)
{
return strncat (d);
}
char* test_strncat_2 (char *d, const char *s)
{
return strncat (d, s);
}
void* test_strncpy_0 ()
{
return strncpy ();
}
void* test_strncpy_1 (char *d)
{
return strncpy (d);
}
void* test_strncpy_2 (char *d, const char *s)
{
return strncpy (d, s);
}
/* { dg-prune-output "\\\[-Wbuiltin-declaration-mismatch]" } */