variable is a function argument, because those are in scope
for the whole function.
+@cindex @code{naked} function attribute
+@item naked
+This attribute applies to functions.
+
+It allows the compiler to construct the requisite function
+declaration, while allowing the body of the function to be assembly
+code. The specified function does not have prologue/epilogue
+sequences generated by the compiler. Only basic @code{asm} statements
+can safely be included in naked functions (@pxref{Basic Asm}). While
+using extended @code{asm} or a mixture of basic @code{asm} and C code
+may appear to work, they cannot be depended upon to work reliably and
+are not supported.
+
+Not all targets support this attribute. Those that do include ARC, ARM,
+AVR, BPF, C-SKY, MCORE, MSP430, NDS32, RISC-V, RL78, RX, and x86.
+
@cindex @code{no_icf} attribute
@item no_icf
This attribute can be applied to functions or variables.
* M32C Attributes::
* M32R/D Attributes::
* m68k Attributes::
-* MCORE Attributes::
* MicroBlaze Attributes::
* Microsoft Windows Attributes::
* MIPS Attributes::
callable from normal mode. The location of the secure call function
into the @code{sjli} table needs to be passed as argument.
-@cindex @code{naked} function attribute, ARC
-@item naked
-This attribute applies to functions.
-
-It allows the compiler to construct the requisite function
-declaration, while allowing the body of the function to be assembly
-code. The specified function does not have prologue/epilogue
-sequences generated by the compiler. Only basic @code{asm} statements
-can safely be included in naked functions (@pxref{Basic Asm}). While
-using extended @code{asm} or a mixture of basic @code{asm} and C code
-may appear to work, they cannot be depended upon to work reliably and
-are not supported.
-
@cindex @code{aux} variable attribute, ARC
@item aux
This attribute applies to variables.
the offset to the function from the call site into the @samp{BL}
instruction directly.
-@cindex @code{naked} function attribute, ARM
-@item naked
-This attribute applies to functions.
-
-It allows the compiler to construct the
-requisite function declaration, while allowing the body of the
-function to be assembly code. The specified function does not have
-prologue/epilogue sequences generated by the compiler. Only basic
-@code{asm} statements can safely be included in naked functions
-(@pxref{Basic Asm}). While using extended @code{asm} or a mixture of
-basic @code{asm} and C code may appear to work, they cannot be
-depended upon to work reliably and are not supported.
-
@cindex @code{pcs} function attribute, ARM
@item pcs
This attribute applies to functions.
attribute. Using the @code{noblock} attribute without @code{signal} has no
effect.
-@cindex @code{naked} function attribute, AVR
-@item naked
-This attribute applies to functions.
-
-It allows the compiler to construct the
-requisite function declaration, while allowing the body of the
-function to be assembly code. The specified function does not have
-prologue/epilogue sequences generated by the compiler. Only basic
-@code{asm} statements can safely be included in naked functions
-(@pxref{Basic Asm}). While using extended @code{asm} or a mixture of
-basic @code{asm} and C code may appear to work, they cannot be
-depended upon to work reliably and are not supported.
-
@cindex @code{no_gccisr} function attribute, AVR
@item no_gccisr
This attribute applies to functions.
__attribute__ ((kernel_helper (4)));
@end smallexample
-@cindex @code{naked} function attribute, BPF
-@item naked
-This attribute applies to functions.
-
-It allows the compiler to construct the requisite function
-declaration, while allowing the body of the function to be assembly
-code. The specified function does not have prologue/epilogue
-sequences generated by the compiler. Only basic @code{asm} statements
-can safely be included in naked functions (@pxref{Basic Asm}). While
-using extended @code{asm} or a mixture of basic @code{asm} and C code
-may appear to work, they cannot be depended upon to work reliably and
-are not supported.
-
@cindex @code{preserve_access_index} type attribute, BPF
@item preserve_access_index
This attribute applies to types.
Use of these options requires the @option{-mistack} command-line option
to enable support for the necessary interrupt stack instructions. They
are ignored with a warning otherwise. @xref{C-SKY Options}.
-
-@cindex @code{naked} function attribute, C-SKY
-@item naked
-This attribute applies to functions.
-
-This attribute allows the compiler to construct the
-requisite function declaration, while allowing the body of the
-function to be assembly code. The specified function does not have
-prologue/epilogue sequences generated by the compiler. Only basic
-@code{asm} statements can safely be included in naked functions
-(@pxref{Basic Asm}). While using extended @code{asm} or a mixture of
-basic @code{asm} and C code may appear to work, they cannot be
-depended upon to work reliably and are not supported.
@end table
instruction. This attribute is available only on fido.
@end table
-@node MCORE Attributes
-@subsubsection MCORE Attributes
-
-These attributes are supported by the MCORE back end:
-
-@table @code
-@cindex @code{naked} function attribute, MCORE
-@item naked
-This attribute applies to functions.
-
-It allows the compiler to construct the
-requisite function declaration, while allowing the body of the
-function to be assembly code. The specified function does not have
-prologue/epilogue sequences generated by the compiler. Only basic
-@code{asm} statements can safely be included in naked functions
-(@pxref{Basic Asm}). While using extended @code{asm} or a mixture of
-basic @code{asm} and C code may appear to work, they cannot be
-depended upon to work reliably and are not supported.
-@end table
-
@node MicroBlaze Attributes
@subsubsection MicroBlaze Attributes
the names @code{watchdog} for vector 26, @code{nmi} for vector 30 and
@code{reset} for vector 31 are recognized.
-@cindex @code{naked} function attribute, MSP430
-@item naked
-This attribute applies to functions.
-
-This attribute allows the compiler to construct the
-requisite function declaration, while allowing the body of the
-function to be assembly code. The specified function does not have
-prologue/epilogue sequences generated by the compiler. Only basic
-@code{asm} statements can safely be included in naked functions
-(@pxref{Basic Asm}). While using extended @code{asm} or a mixture of
-basic @code{asm} and C code may appear to work, they cannot be
-depended upon to work reliably and are not supported.
-
@cindex @code{reentrant} function attribute, MSP430
@item reentrant
This attribute applies to functions.
interrupt handler.
@end table
-@cindex @code{naked} function attribute, NDS32
-@item naked
-This attribute applies to functions.
-
-It allows the compiler to construct the
-requisite function declaration, while allowing the body of the
-function to be assembly code. The specified function does not have
-prologue/epilogue sequences generated by the compiler. Only basic
-@code{asm} statements can safely be included in naked functions
-(@pxref{Basic Asm}). While using extended @code{asm} or a mixture of
-basic @code{asm} and C code may appear to work, they cannot be
-depended upon to work reliably and are not supported.
-
@cindex @code{reset} function attribute, NDS32
@cindex reset handler functions
@item reset
These attributes are supported by the RISC-V back end:
@table @code
-@cindex @code{naked} function attribute, RISC-V
-@item naked
-This attribute applies to functions.
-
-It allows the compiler to construct the
-requisite function declaration, while allowing the body of the
-function to be assembly code. The specified function does not have
-prologue/epilogue sequences generated by the compiler. Only basic
-@code{asm} statements can safely be included in naked functions
-(@pxref{Basic Asm}). While using extended @code{asm} or a mixture of
-basic @code{asm} and C code may appear to work, they cannot be
-depended upon to work reliably and are not supported.
-
@cindex @code{interrupt} function attribute, RISC-V
@item interrupt
This attribute applies to functions.
handlers intended to be used with the @code{BRK} opcode (i.e.@: those
that must end with @code{RETB} instead of @code{RETI}).
-@cindex @code{naked} function attribute, RL78
-@item naked
-This attribute applies to functions.
-
-It allows the compiler to construct the
-requisite function declaration, while allowing the body of the
-function to be assembly code. The specified function does not have
-prologue/epilogue sequences generated by the compiler. Only basic
-@code{asm} statements can safely be included in naked functions
-(@pxref{Basic Asm}). While using extended @code{asm} or a mixture of
-basic @code{asm} and C code may appear to work, they cannot be
-depended upon to work reliably and are not supported.
-
@cindex @code{saddr} variable attribute, RL78
@item saddr
This attribute applies to variables.
txd1_handler ();
@end smallexample
-@cindex @code{naked} function attribute, RX
-@item naked
-This attribute applies to functions.
-
-It allows the compiler to construct the
-requisite function declaration, while allowing the body of the
-function to be assembly code. The specified function does not have
-prologue/epilogue sequences generated by the compiler. Only basic
-@code{asm} statements can safely be included in naked functions
-(@pxref{Basic Asm}). While using extended @code{asm} or a mixture of
-basic @code{asm} and C code may appear to work, they cannot be
-depended upon to work reliably and are not supported.
-
@cindex @code{vector} function attribute, RX
@item vector
This attribute applies to functions.
prologue used in Win32 API functions in Microsoft Windows XP Service Pack 2
and newer.
-@cindex @code{naked} function attribute, x86
-@item naked
-This attribute applies to functions.
-
-It allows the compiler to construct the
-requisite function declaration, while allowing the body of the
-function to be assembly code. The specified function does not have
-prologue/epilogue sequences generated by the compiler. Only basic
-@code{asm} statements can safely be included in naked functions
-(@pxref{Basic Asm}). While using extended @code{asm} or a mixture of
-basic @code{asm} and C code may appear to work, they cannot be
-depended upon to work reliably and are not supported.
-
@cindex @code{regparm} function attribute, x86
@cindex functions that are passed arguments in registers on x86-32
@item regparm (@var{number})