clang uses the llvm backend, so define __llvm__ like llvm-gcc.  
Additionally, define __clang__ so clients can predicate based on
clang features.

llvm-svn: 52788
diff --git a/clang/lib/Lex/Preprocessor.cpp b/clang/lib/Lex/Preprocessor.cpp
index 8dac3f0..32ee8f0 100644
--- a/clang/lib/Lex/Preprocessor.cpp
+++ b/clang/lib/Lex/Preprocessor.cpp
@@ -414,6 +414,9 @@
   
   // Get the target #defines.
   PP.getTargetInfo().getTargetDefines(Buf);
+
+  DefineBuiltinMacro(Buf, "__llvm__=1");   // LLVM Backend
+  DefineBuiltinMacro(Buf, "__clang__=1");  // Clang Frontend
   
   // Compiler set macros.
   DefineBuiltinMacro(Buf, "__APPLE_CC__=5250");