4.3.15. __attribute__((used))
This function attribute informs the compiler that a static function is to be retained in the object file, even if it is unreferenced.
Static functions marked as used are emitted to a single section, in the order they are declared. You can specify the section functions are placed in using __attribute__((section)).
Note
This function attribute is a GNU compiler extension that is supported by the ARM compiler.
Note
Static variables can also be marked as used using __attribute__((used)).
static int lose_this(int);
static int keep_this(int) __attribute__((used)); // retained in object file
static int keep_this_too(int) __attribute__((used)); // retained in object file