// RUN: %clang_cc1 %s -fsyntax-only -Wno-strict-prototypes -triple i386-unknown-unknown -verify
// RUN: %clang_cc1 %s -fsyntax-only -Wno-strict-prototypes -triple i386-unknown-unknown -fms-compatibility -DWIN -verify
void
void
void
void
void
void
void
void
void
void // expected-error {{'cdecl' attribute takes no arguments}}
= foo;
= bar;
= test1; // expected-warning {{incompatible function pointer types}}
= ctest0;
void
= ctest2;
typedef void ;
Handler H = foo;
int ; // expected-error {{'pcs' attribute takes one argument}}
int ; // expected-error {{'pcs' attribute takes one argument}}
int ; // expected-error {{'pcs' attribute requires a string}} \
// expected-error {{invalid PCS type}}
int ; // expected-error {{'pcs' attribute requires a string}}
/* These are ignored because the target is i386 and not ARM */
int ; // expected-warning {{'pcs' calling convention is not supported for this target}}
int ; // expected-warning {{'pcs' calling convention is not supported for this target}}
int ; // expected-error {{invalid PCS type}}
int ; // expected-warning {{'aarch64_vector_pcs' calling convention is not supported for this target}}
int ; // expected-warning {{'aarch64_sve_pcs' calling convention is not supported for this target}}
int ; // expected-warning {{'amdgpu_kernel' calling convention is not supported for this target}}
// PR6361
void ;
void
// PR6408
typedef void ;
PROC
void
typedef void ;
typedef_fun_t typedef_fun; // expected-note {{previous declaration is here}}
void // expected-error {{function declared 'stdcall' here was previously declared without calling convention}}
; // expected-warning {{'stdcall' attribute only applies to functions and methods}}
void __vectorcall ; // expected-warning {{vectorcall calling convention is not supported on builtin function}}