xref: /aosp_15_r20/external/clang/test/Sema/mips16_attr_allowed.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
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