/* Test for multiple declarations and composite types, with built-in functions. */ /* Origin: Joseph Myers */ /* { dg-do compile } */ /* { dg-options "-std=c89 -Wformat -g" } */ void f (void) { int printf; int strcmp; { int printf (const char *, ...); int strcmp (); /* Should get format warnings even though the built-in declaration isn't "visible". */ printf ("%s", 1); /* { dg-warning "format" } */ /* The type of strcmp here should have no prototype. */ if (0) strcmp (1); /* Likewise, implicitly declared memcmp. */ if (0) memcmp (1); } } /* Should still diagnose incompatible prototype for strcmp. */ int strcmp (void); /* { dg-error "conflict" } */