Make it build on llvm 3.5

Tried to take care to keep it compatible with <3.4.