1 /* Test attributes for interrupt handlers */
2 /* { dg-do assemble } */
3 /* { dg-options "-mips32r2 -msoft-float" } */
7 void __attribute__ ((interrupt
)) v0 () { }
8 void __attribute__ ((interrupt
, use_shadow_register_set
)) v1 () { }
9 void __attribute__ ((interrupt
, keep_interrupts_masked
)) v2 () { }
10 void __attribute__ ((interrupt
, use_debug_exception_return
)) v3 () { }
11 void __attribute__ ((interrupt
, use_shadow_register_set
, keep_interrupts_masked
)) v4 () { }
12 void __attribute__ ((interrupt
, use_shadow_register_set
, use_debug_exception_return
)) v5 () { }
13 void __attribute__ ((interrupt
, keep_interrupts_masked
, use_debug_exception_return
)) v6 () { }
14 void __attribute__ ((interrupt
, use_shadow_register_set
, keep_interrupts_masked
, use_debug_exception_return
)) v7 () { }
16 void __attribute__ ((interrupt
)) w0 () { t(); }
17 void __attribute__ ((interrupt
, use_shadow_register_set
)) w1 () { t(); }
18 void __attribute__ ((interrupt
, keep_interrupts_masked
)) w2 () { t(); }
19 void __attribute__ ((interrupt
, use_debug_exception_return
)) w3 () { t(); }
20 void __attribute__ ((interrupt
, use_shadow_register_set
, keep_interrupts_masked
)) w4 () { t(); }
21 void __attribute__ ((interrupt
, use_shadow_register_set
, use_debug_exception_return
)) w5 () { t(); }
22 void __attribute__ ((interrupt
, keep_interrupts_masked
, use_debug_exception_return
)) w6 () { t(); }
23 void __attribute__ ((interrupt
, use_shadow_register_set
, keep_interrupts_masked
, use_debug_exception_return
)) w7 () { t(); }