15.1.2 Function Attributes

The keyword __attribute__ allows you to specify special attributes when making a declaration. This keyword is followed by an attribute specification inside double parentheses. The following attributes are currently supported for functions:

You may also specify attributes with __ (double underscore) preceding and following each keyword (e.g., __shadow__ instead of shadow). This allows you to use them in header files without being concerned about a possible macro of the same name.

Multiple attributes may be specified in a declaration by separating them by commas within the double parentheses or by immediately following an attribute declaration with another attribute declaration.