// RUN: %clang_cc1 %s -verify=werror,both -fsyntax-only -Werror=implicit-function-declaration -std=c99
// RUN: %clang_cc1 %s -verify=expected,both -fsyntax-only -std=c11
// RUN: %clang_cc1 %s -verify=c2x -fsyntax-only -std=c2x
/// -Werror-implicit-function-declaration is a deprecated alias used by many projects.
// RUN: %clang_cc1 %s -verify=werror,both -fsyntax-only -Werror-implicit-function-declaration
// c2x-note@*:* {{'__builtin_va_list' declared here}}
typedef int int32_t;
typedef unsigned char Boolean;
extern int ; // werror-note{{'printf' declared here}} \
c2x-note {{'printf' declared here}}
void
Boolean
// Test the typo-correction callback in Sema::ImplicitlyDefineFunction
extern int ; // werror-note{{'sformatf' declared here}}
void
void