Don't rely on GCC extensions. Credit to Bernhard Rosenkränzer, I just had to rework this for the kitkat branch.