1*67e74705SXin Li // RUN: %clang_cc1 -triple mipsel-linux-gnu -fsyntax-only -verify %s 2*67e74705SXin Li 3*67e74705SXin Li void foo32(); 4*67e74705SXin Li void foo16(); 5*67e74705SXin Li void __attribute__((nomips16)) foo32(); 6*67e74705SXin Li void __attribute__((mips16)) foo16(); 7*67e74705SXin Li 8*67e74705SXin Li void __attribute__((nomips16)) foo32_(); 9*67e74705SXin Li void __attribute__((mips16)) foo16_(); 10*67e74705SXin Li void foo32_(); 11*67e74705SXin Li void foo16_(); 12*67e74705SXin Li 13*67e74705SXin Li void foo32__() __attribute__((nomips16)); 14*67e74705SXin Li void foo32__() __attribute__((mips16)); 15*67e74705SXin Li 16*67e74705SXin Li void foo32a() __attribute__((nomips16(0))) ; // expected-error {{'nomips16' attribute takes no arguments}} 17*67e74705SXin Li void __attribute__((mips16(1))) foo16a(); // expected-error {{'mips16' attribute takes no arguments}} 18*67e74705SXin Li 19*67e74705SXin Li void __attribute__((nomips16(1, 2))) foo32b(); // expected-error {{'nomips16' attribute takes no arguments}} 20*67e74705SXin Li void __attribute__((mips16(1, 2))) foo16b(); // expected-error {{'mips16' attribute takes no arguments}} 21*67e74705SXin Li 22*67e74705SXin Li 23*67e74705SXin Li __attribute((nomips16)) int a; // expected-error {{attribute only applies to functions}} 24*67e74705SXin Li 25*67e74705SXin Li __attribute((mips16)) int b; // expected-error {{attribute only applies to functions}} 26*67e74705SXin Li 27*67e74705SXin Li 28