4.3. Function attributes

The __attribute__ keyword enables you to specify special attributes of variables or structure fields, functions, and types. The keyword format is either:

__attribute__ ((attribute1, attribute2, ...))
__attribute__ ((__attribute1__, __attribute2__, ...))

For example:

void * Function_Attributes_malloc_0(int b) __attribute__ ((malloc));
static int b __attribute__ ((__unused__));

Table 4.3 summarizes the available function attributes.

Table 4.3. Function attributes supported by the compiler and their equivalents

Function attributenon-attribute equivalent
__attribute__((alias))-
__attribute__((always_inline))__forceinline
__attribute__((const))__pure
__attribute__((deprecated))-
__attribute__((malloc))-
__attribute__((noinline))__declspec(noinline)
__attribute__((noreturn))__declspec(noreturn))
__attribute__((pure))-
__attribute__((unused))-
__attribute__((used))-
__attribute__((weak))__weak

Copyright © 2007, 2010 ARM Limited. All rights reserved.ARM DUI 0348A
Non-Confidential