// RUN: %clang_cc1 %s -verify -fno-builtin

#define _zero_call_used_regs(...) __attribute__((zero_call_used_regs(__VA_ARGS__)))

void failure1(void) _zero_call_used_regs();                   // expected-error {{takes one argument}}
void failure2(void) _zero_call_used_regs("used", "used-gpr"); // expected-error {{takes one argument}}
void failure3(void) _zero_call_used_regs(0);                  // expected-error {{requires a string}}
void failure4(void) _zero_call_used_regs("hello");            // expected-warning {{argument not supported: hello}}

void success1(void) _zero_call_used_regs("skip");
void success2(void) _zero_call_used_regs("used-gpr-arg");
void success3(void) _zero_call_used_regs("used-gpr");
void success4(void) _zero_call_used_regs("used-arg");
void success5(void) _zero_call_used_regs("used");
void success6(void) _zero_call_used_regs("all-gpr-arg");
void success7(void) _zero_call_used_regs("all-gpr");
void success8(void) _zero_call_used_regs("all-arg");
void success9(void) _zero_call_used_regs("all");
