[patch, doc] reorganize function attribute documentation
Sandra Loosemore
sandra@codesourcery.com
Fri Apr 24 02:28:00 GMT 2015
This patch is another incremental step in cleaning up the attribute
documentation in extend.texi. Here I have tried to bring some sanity to
the function attribute section by splitting off subsections to cover
target-specific attributes and behavior, and alphabetizing the main
table of common attributes. Continuing the series as I have time to
work on it, I plan to group all the attribute sections together instead
of interspersing them with unrelated material, consolidate/rewrite the
introductory text, and move the attribute syntax discussion before the
sections on specific attributes.
I realize this patch is gigantic and unreadable by itself because of the
churn from moving things around. I've attached an outline of the new
section structure (extracted with the help of grep, etc). I confirmed
that I hadn't accidentally lost any hunks of text by also extracting all
the @cindex entries (see r221614, where I made sure that every attribute
had one) and comparing sorted before/after lists.
I'll commit this in a few days if I don't get any complaints that this
is a dumb idea ;-) or specific suggestions or a request for more time to
review the patch. At this point, though, I don't want to get too bogged
down in polishing the text -- I'm trying to focus on fixing the document
structure and making it easier to find things.
-Sandra
-------------- next part --------------
@section Declaring Attributes of Functions
@subsection Common Function Attributes
alias ("@var{target}")
aligned (@var{alignment})
alloc_align
alloc_size
always_inline
artificial
assume_aligned
bnd_instrument
bnd_legacy
cold
const
constructor
destructor
constructor (@var{priority})
destructor (@var{priority})
deprecated
deprecated (@var{msg})
error ("@var{message}")
warning ("@var{message}")
externally_visible
flatten
format (@var{archetype}, @var{string-index}, @var{first-to-check})
format_arg (@var{string-index})
gnu_inline
hot
ifunc ("@var{resolver}")
interrupt
interrupt_handler
leaf
malloc
no_icf
no_instrument_function
no_reorder
no_sanitize_address
no_address_safety_analysis
no_sanitize_thread
no_sanitize_undefined
no_split_stack
noclone
noinline
nonnull (@var{arg-index}, @dots{})
noreturn
nothrow
optimize
pure
returns_nonnull
returns_twice
section ("@var{section-name}")
sentinel
stack_protect
target (@var{options})
unused
used
visibility ("@var{visibility_type}")
warn_unused_result
weak
weakref
weakref ("@var{target}")
@subsection ARC Function Attributes
interrupt
long_call
medium_call
short_call
@subsection ARM Function Attributes
interrupt
isr
long_call
short_call
naked
pcs
@subsection AVR Function Attributes
interrupt
naked
OS_main
OS_task
signal
@subsection Blackfin Function Attributes
exception_handler
interrupt_handler
kspisusp
l1_text
l2
longcall
shortcall
nesting
nmi_handler
saveall
@subsection CR16 Function Attributes
interrupt
@subsection Epiphany Function Attributes
disinterrupt
forwarder_section
interrupt
long_call
short_call
@subsection H8/300 Function Attributes
function_vector
interrupt_handler
saveall
@subsection IA-64 Function Attributes
syscall_linkage
version_id
@subsection M32C Function Attributes
bank_switch
fast_interrupt
function_vector
interrupt
@subsection M32R/D Function Attributes
interrupt
model (@var{model-name})
@subsection m68k Function Attributes
interrupt
interrupt_handler
interrupt_thread
@subsection MCORE Function Attributes
naked
@subsection MeP Function Attributes
disinterrupt
interrupt
near
far
vliw
@subsection MicroBlaze Function Attributes
save_volatiles
break_handler
@subsection Microsoft Windows Function Attributes
dllexport
dllimport
@subsection MIPS Function Attributes
interrupt
long_call
near
far
mips16
nomips16
micromips, MIPS
nomicromips, MIPS
nocompression
@subsection MSP430 Function Attributes
critical
interrupt
naked
reentrant
wakeup
@subsection NDS32 Function Attributes
exception
interrupt
naked
reset
@subsection Nios II Function Attributes
target (@var{options})
@subsection PowerPC Function Attributes
longcall
shortcall
target (@var{options})
@subsection RL78 Function Attributes
interrupt
brk_interrupt
naked
@subsection RX Function Attributes
fast_interrupt
interrupt
naked
vector
@subsection S/390 Function Attributes
hotpatch (@var{halfwords-before-function-label},@var{halfwords-after-function-label})
@subsection SH Function Attributes
function_vector
interrupt_handler
nosave_low_regs
renesas
resbank
sp_switch
trap_exit
trapa_handler
@subsection SPU Function Attributes
naked
@subsection Symbian OS Function Attributes
@subsection Visium Function Attributes
interrupt
@subsection x86 Function Attributes
cdecl
fastcall
thiscall
ms_abi
sysv_abi
callee_pop_aggregate_return (@var{number})
ms_hook_prologue
regparm (@var{number})
sseregparm
force_align_arg_pointer
stdcall
target (@var{options})
@subsection Xstormy16 Function Attributes
interrupt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: attr-doc-1.log
Type: text/x-log
Size: 476 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20150424/856590c0/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: attr-doc-1.patch.gz
Type: application/x-gzip
Size: 45138 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20150424/856590c0/attachment-0001.bin>
More information about the Gcc-patches
mailing list