diff options
author | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-12-08 19:25:33 +0000 |
---|---|---|
committer | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-12-08 19:25:33 +0000 |
commit | e27ad2d5f4c560ee085480753edad5de7c610566 (patch) | |
tree | c11994311174f3c3145a04a55414654bfaf86159 /gcc/extend.texi | |
parent | 5bd7d548a2ec4e5032314d8a7f5d870623497638 (diff) | |
download | gcc-e27ad2d5f4c560ee085480753edad5de7c610566.tar.gz |
Add support for interrupt function attribute
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38134 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/extend.texi')
-rw-r--r-- | gcc/extend.texi | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/gcc/extend.texi b/gcc/extend.texi index bfb9da5cecd..9950ddea292 100644 --- a/gcc/extend.texi +++ b/gcc/extend.texi @@ -1760,6 +1760,27 @@ function is an interrupt handler. The compiler will generate function entry and exit sequences suitable for use in an interrupt handler when this attribute is present. +@item interrupt +@cindex interrupt handler functions +Use this option on the ARM, AVR and M32R/D ports to indicate that the +specified function is an interrupt handler. The compiler will generate +function entry and exit sequences suitable for use in an interrupt +handler when this attribute is present. + +Note, interrupt handlers for ther H8/300 and H8/300H processors can be +specified via the @code{interrupt_handler} attribute. + +Note, on the AVR interrupts will be enabled inside the function. + +Note, for the ARM you can specify the kind of interrupt to be handled by +adding an optional parameter to the interrupt attribute like this: + +@smallexample +void f () __attribute__ ((interrupt ("IRQ"))); +@end smallexample + +Permissable values for this parameter are: IRQ, FIQ, SWI, ABORT and UNDEF. + @item eightbit_data @cindex eight bit data on the H8/300 and H8/300H Use this option on the H8/300 and H8/300H to indicate that the specified @@ -1779,19 +1800,6 @@ The compiler will generate more efficient code for loads and stores on data in the tiny data section. Note the tiny data area is limited to slightly under 32kbytes of data. -@item interrupt -@cindex interrupt handlers on the M32R/D -Use this option on the M32R/D to indicate that the specified -function is an interrupt handler. The compiler will generate function -entry and exit sequences suitable for use in an interrupt handler when this -attribute is present. - -Interrupt handler functions on the AVR processors -Use this option on the AVR to indicate that the specified -function is an interrupt handler. The compiler will generate function -entry and exit sequences suitable for use in an interrupt handler when this -attribute is present. Interrupts will be enabled inside function. - @item signal @cindex signal handler functions on the AVR processors Use this option on the AVR to indicate that the specified @@ -1800,10 +1808,10 @@ entry and exit sequences suitable for use in an signal handler when this attribute is present. Interrupts will be disabled inside function. @item naked -@cindex function without a prologue/epilogue code on the AVR processors -Use this option on the AVR to indicate that the specified -function don't have a prologue/epilogue. The compiler don't generate -function entry and exit sequences. +@cindex function without a prologue/epilogue code +Use this option on the ARM or AVR ports to indicate that the specified +function do not need prologue/epilogue sequences generated by the +compiler. It is up to the programmer to provide these sequences. @item model (@var{model-name}) @cindex function addressability on the M32R/D |