+richard, since this is now touching lib/Basic... Looks good to me, but I want Richard to take a look whether this makes sense or should be solved differently. http://reviews.llvm.org/D4996