The llvm code base recently removed llvm::sys:fs::exists(file, result) from the API. The clang-3.5-gentoo-runtime-gcc-detection-v3.patch incorrectly uses this, resulting in a failed compile when you emerge =sys-devel/llvm-9999. I didn't check to see if the llvm-3.5.0.ebuild is affected. I tried a quick hack of just changing the patch to if (llvm::sys::fs::exists(GentooPath + "/crtbegin.o")) instead of the existing code if (!llvm::sys::fs::exists(GentooPath + "/crtbegin.o", Exists) && Exists) which is what I think the desired behavior was.
Thanks for the report. I will address this as soon as get back to my PC. In the meantime, could you check whether your version works with 3.5.0? If it does, it'd be better to use the new API in both ebuilds :).
Emerged llvm-3.5.0 with my modified patch file, and it compiled and installed just fine. Note that the final code should remove the declaration of the boolean variable Exists since it is unused.
+ 18 Sep 2014; Michał Górny <mgorny@gentoo.org> + files/clang-3.5-gentoo-runtime-gcc-detection-v3.patch: + Use simpler llvm::sys::fs::exists() form in gcc version detection code since + the other one is deprecated. Bug #523082. I hope you are right since I didn't test it myself :).