9.10.16 reverse
(alignment)
The reverse attribute specifies a minimum alignment for
the ending address of a variable, plus one. The alignment is specified in bytes and must
be a power of two. Reverse-aligned variables can be used for decrementing modulo buffers
in dsPIC DSC assembly language. This attribute could be useful if an application defines
variables in C that will be accessed from assembly language.
int buf1[128] __attribute__ ((reverse(256)));
The reverse attribute conflicts with the
aligned and section attributes. An attempt to name
a section for a reverse-aligned variable will be ignored with a warning. It is an error
condition to specify both reverse and aligned for the
same variable. A variable with the reverse attribute cannot be placed
into the auto_psv space (see the space() attribute or
the -mconst-in-code option); attempts to do so will cause a warning and
the compiler will place the variable into the PSV space.
