For the record, always placing GNU attributes at the end isn't correct for function definitions. ``` static void bad() __attribute__((cold)) {} // -Wgcc-compat __attribute__((cold)) static void good() {} static __attribute__((cold)) void okay() {} static void __attribute__((cold)) alsoOkay() {} ``` http://llvm-reviews.chandlerc.com/D395