/* PR c/83656 - missing -Wbuiltin-declaration-mismatch on declaration
   without prototype
   { dg-do compile }
   { dg-options "-Wall" } */

typedef __SIZE_TYPE__ size_t;

/* Verify that ordinary library built-ins are not diagnosed with -Wall
   (or by default) whether or not they take arguments (even though they
   should be).  */

void abort ();
void* memcpy ();
void* memset ();
size_t strlen ();

/* Verify mismatches in return types are diagnosed.  */
int exit ();        /* { dg-warning "\\\[-Wbuiltin-declaration-mismatch]" } */

/* Variadic built-ins are diagnosed with -Wall (they are, in fact,
   diagnosed by default).  */
int printf ();      /* { dg-warning "\\\[-Wbuiltin-declaration-mismatch]" } */
int sprintf ();     /* { dg-warning "\\\[-Wbuiltin-declaration-mismatch]" } */
