diff options
author | Chao-ying Fu <fu@mips.com> | 2009-04-02 22:01:01 +0000 |
---|---|---|
committer | Chao-ying Fu <chaoyingfu@gcc.gnu.org> | 2009-04-02 22:01:01 +0000 |
commit | e97d7fa9f9a02a491dcdaf9706247e5e6b2b7b9a (patch) | |
tree | f28644d243222ff8ec5feaeee31d4553e0c0177d /gcc | |
parent | e19da24c65c5d914adec414c3b6b86f2eda6bfaa (diff) | |
download | gcc-e97d7fa9f9a02a491dcdaf9706247e5e6b2b7b9a.zip gcc-e97d7fa9f9a02a491dcdaf9706247e5e6b2b7b9a.tar.gz gcc-e97d7fa9f9a02a491dcdaf9706247e5e6b2b7b9a.tar.bz2 |
interrupt_handler.c: New test.
2009-04-02 Chao-ying Fu <fu@mips.com>
* gcc.target/mips/interrupt_handler.c: New test.
From-SVN: r145482
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/mips/interrupt_handler.c | 23 |
2 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e1265cf..a73f8af 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2009-04-02 Chao-ying Fu <fu@mips.com> + + * gcc.target/mips/interrupt_handler.c: New test. + 2009-04-02 David Ayers <ayers@fsfe.org> PR objc/18456 diff --git a/gcc/testsuite/gcc.target/mips/interrupt_handler.c b/gcc/testsuite/gcc.target/mips/interrupt_handler.c new file mode 100644 index 0000000..1cf8918 --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/interrupt_handler.c @@ -0,0 +1,23 @@ +/* Test attributes for interrupt handlers */ +/* { dg-do compile } */ +/* { dg-options "-mips32r2 -msoft-float" } */ + +void f () { } + +void __attribute__ ((interrupt)) v0 () { } +void __attribute__ ((interrupt, use_shadow_register_set)) v1 () { } +void __attribute__ ((interrupt, keep_interrupts_masked)) v2 () { } +void __attribute__ ((interrupt, use_debug_exception_return)) v3 () { } +void __attribute__ ((interrupt, use_shadow_register_set, keep_interrupts_masked)) v4 () { } +void __attribute__ ((interrupt, use_shadow_register_set, use_debug_exception_return)) v5 () { } +void __attribute__ ((interrupt, keep_interrupts_masked, use_debug_exception_return)) v6 () { } +void __attribute__ ((interrupt, use_shadow_register_set, keep_interrupts_masked, use_debug_exception_return)) v7 () { } + +void __attribute__ ((interrupt)) w0 () { t(); } +void __attribute__ ((interrupt, use_shadow_register_set)) w1 () { t(); } +void __attribute__ ((interrupt, keep_interrupts_masked)) w2 () { t(); } +void __attribute__ ((interrupt, use_debug_exception_return)) w3 () { t(); } +void __attribute__ ((interrupt, use_shadow_register_set, keep_interrupts_masked)) w4 () { t(); } +void __attribute__ ((interrupt, use_shadow_register_set, use_debug_exception_return)) w5 () { t(); } +void __attribute__ ((interrupt, keep_interrupts_masked, use_debug_exception_return)) w6 () { t(); } +void __attribute__ ((interrupt, use_shadow_register_set, keep_interrupts_masked, use_debug_exception_return)) w7 () { t(); } |