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 10 summarizes the available type attributes.
Table 10. Type attributes supported by the compiler and their equivalents
| Type attribute | non-attribute equivalent |
|---|
__attribute__((bitband)) | - |
__attribute__((aligned)) | __align |
__attribute__((packed)) | __packed
|