1 // RUN: %clang_cc1 %s -verify -fno-builtin 2 3 #define _zero_call_used_regs(...) __attribute__((zero_call_used_regs(__VA_ARGS__))) 4 5 void failure1(void) _zero_call_used_regs(); // expected-error {{takes one argument}} 6 void failure2(void) _zero_call_used_regs("used", "used-gpr"); // expected-error {{takes one argument}} 7 void failure3(void) _zero_call_used_regs(0); // expected-error {{expected string literal}} 8 void failure4(void) _zero_call_used_regs("hello"); // expected-warning {{argument not supported: hello}} 9 10 void success1(void) _zero_call_used_regs("skip"); 11 void success2(void) _zero_call_used_regs("used-gpr-arg"); 12 void success3(void) _zero_call_used_regs("used-gpr"); 13 void success4(void) _zero_call_used_regs("used-arg"); 14 void success5(void) _zero_call_used_regs("used"); 15 void success6(void) _zero_call_used_regs("all-gpr-arg"); 16 void success7(void) _zero_call_used_regs("all-gpr"); 17 void success8(void) _zero_call_used_regs("all-arg"); 18 void success9(void) _zero_call_used_regs("all"); 19