/* 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]" } */