voidmultiple_ccs_async(intx)SWIFTASYNCCALL__attribute__((vectorcall));// expected-error {{vectorcall and swiftasynccall attributes are not compatible}}
voidindirect_result_nonswift(INDIRECT_RESULTvoid*out);// expected-error {{'swift_indirect_result' parameter can only be used with swiftcall or swiftasynccall calling convention}}
voidindirect_result_bad_position(intfirst,INDIRECT_RESULTvoid*out)SWIFTCALL;// expected-error {{'swift_indirect_result' parameters must be first parameters of function}}
voidindirect_result_bad_type(INDIRECT_RESULTintout)SWIFTCALL;// expected-error {{'swift_indirect_result' parameter must have pointer type; type here is 'int'}}
voiderror_result_nonswift(ERROR_RESULTvoid**error);// expected-error {{'swift_error_result' parameter can only be used with swiftcall calling convention}} expected-error{{'swift_error_result' parameter must follow 'swift_context' parameter}}
voiderror_result_bad_position2(intfirst,ERROR_RESULTvoid**error)SWIFTCALL;// expected-error {{'swift_error_result' parameter must follow 'swift_context' parameter}}
voiderror_result_bad_type(CONTEXTvoid*context,ERROR_RESULTinterror)SWIFTCALL;// expected-error {{'swift_error_result' parameter must have pointer to unqualified pointer type; type here is 'int'}}
voiderror_result_bad_type2(CONTEXTvoid*context,ERROR_RESULTint*error)SWIFTCALL;// expected-error {{'swift_error_result' parameter must have pointer to unqualified pointer type; type here is 'int *'}}
voidcontext_nonswift(CONTEXTvoid*context);// expected-error {{'swift_context' parameter can only be used with swiftcall or swiftasynccall calling convention}}
voidasync_context_nonswift(ASYNC_CONTEXTvoid*context);// OK
voidasync_context_bad_type(ASYNC_CONTEXTintcontext)SWIFTASYNCCALL;// expected-error {{'swift_async_context' parameter must have pointer type; type here is 'int'}}
template<classT>voidindirect_result_temp_okay2(INDIRECT_RESULTTout)SWIFTCALL;// expected-note {{candidate template ignored: substitution failure [with T = int]: 'swift_indirect_result' parameter must have pointer type; type here is 'int'}}
voidtest_indirect_result_temp(void*out){
indirect_result_temp_okay1(out);
indirect_result_temp_okay2(out);
indirect_result_temp_okay2(1);// expected-error {{no matching function for call to 'indirect_result_temp_okay2'}}