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