Place the definition of 'va_list' within a preprocessor guard.  This matches the behavior of GCC, and avoids potential conflicts with system headers (e.g., stdio.h).  Fixes <rdar://problem/7727145>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98003 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Headers/stdarg.h b/lib/Headers/stdarg.h
index bbbaff9..c36ab12 100644
--- a/lib/Headers/stdarg.h
+++ b/lib/Headers/stdarg.h
@@ -26,7 +26,10 @@
 #ifndef __STDARG_H
 #define __STDARG_H
 
+#ifndef _VA_LIST
 typedef __builtin_va_list va_list;
+#define _VA_LIST
+#endif
 #define va_start(ap, param) __builtin_va_start(ap, param)
 #define va_end(ap)          __builtin_va_end(ap)
 #define va_arg(ap, type)    __builtin_va_arg(ap, type)