15.2.9 Externally_visible Function Attribute

The externally_visible attribute nullifies the effect of the -fwhole-program command-line option, so the function remains visible outside the current compilation unit. This might prevent certain optimizations from being performed on the function. For example:
void __attribute__((externally_visible)) foo (void);