Merged in mainline Clang on August 29, 2011.

llvm-svn: 138733
116 files changed