15.2.35 Used Function Attribute

The used attribute indicates to the compiler that the function is always used and code must be generated for the function even if the compiler cannot see a reference to the function. Such might be the case if inline assembly is the only reference to a static function. For example:
void __attribute__ ((used)) foo(void);