Author of the problematic code here. Thanks everyone, and sorry to have caused difficulty!
Obviously if there really is something illegal here we should fix it in LLVM, but it looks like this warning is a false positive (anyone disagree?) Still if there's a simple source-level workaround, or we can suppress the warning with a #pragma, I'd be happy to do that. GCC 4.9.3 is a supported compiler for LLVM and the more configurations we build cleanly in, the better. If this is a useful direction, could someone with an affected environment send me a small patch? I don't have the right setup to verify myself. Cheers, Sam