summaryrefslogtreecommitdiff
path: root/gcc/extend.texi
diff options
context:
space:
mode:
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>2000-12-08 19:25:33 +0000
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>2000-12-08 19:25:33 +0000
commite27ad2d5f4c560ee085480753edad5de7c610566 (patch)
treec11994311174f3c3145a04a55414654bfaf86159 /gcc/extend.texi
parent5bd7d548a2ec4e5032314d8a7f5d870623497638 (diff)
downloadgcc-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.texi42
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