Don't #include <stdio.h> when tests don't need it, or use clang instead of clang-cc when they do.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89070 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Analysis/ObjCRetSigs.m b/test/Analysis/ObjCRetSigs.m
index 3ee13e0..60a85fd 100644
--- a/test/Analysis/ObjCRetSigs.m
+++ b/test/Analysis/ObjCRetSigs.m
@@ -1,6 +1,6 @@
 // RUN: clang-cc -analyze -analyzer-experimental-internal-checks -warn-objc-methodsigs -verify %s
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 @interface MyBase
 -(long long)length;
diff --git a/test/CodeGen/PR3589-freestanding-libcalls.c b/test/CodeGen/PR3589-freestanding-libcalls.c
index b2d2275..1460813 100644
--- a/test/CodeGen/PR3589-freestanding-libcalls.c
+++ b/test/CodeGen/PR3589-freestanding-libcalls.c
@@ -2,7 +2,7 @@
 // RUN: clang-cc -O2 -emit-llvm %s -o - | grep 'declare i32 @puts' | count 1
 // RUN: clang-cc -ffreestanding -O2 -emit-llvm %s -o - | grep 'declare i32 @puts' | count 0
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 void f0() {
   printf("hello\n");
diff --git a/test/CodeGen/blocks-1.c b/test/CodeGen/blocks-1.c
index 5b639d1..ae5a74a 100644
--- a/test/CodeGen/blocks-1.c
+++ b/test/CodeGen/blocks-1.c
@@ -7,7 +7,7 @@
 // RUN: grep "i32 135)" %t | count 2
 // RUN: grep "_Block_object_assign" %t | count 10
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 void test1() {
   __block int a;
diff --git a/test/CodeGen/builtins.c b/test/CodeGen/builtins.c
index b4db48a..11bcc14 100644
--- a/test/CodeGen/builtins.c
+++ b/test/CodeGen/builtins.c
@@ -1,7 +1,7 @@
 // RUN: clang-cc -emit-llvm -o %t %s
 // RUN: not grep __builtin %t
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 void p(char *str, int x) {
   printf("%s: %d\n", str, x);
diff --git a/test/CodeGen/constructor-attribute.c b/test/CodeGen/constructor-attribute.c
index 69e7063..b715201 100644
--- a/test/CodeGen/constructor-attribute.c
+++ b/test/CodeGen/constructor-attribute.c
@@ -4,7 +4,7 @@
 // RUN: grep -e "global_ctors.*@C" %t
 // RUN: grep -e "global_dtors.*@D" %t
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 void A() __attribute__((constructor));
 void B() __attribute__((destructor));
diff --git a/test/CodeGen/mandel.c b/test/CodeGen/mandel.c
index 27993f0..9d7956c 100644
--- a/test/CodeGen/mandel.c
+++ b/test/CodeGen/mandel.c
@@ -25,7 +25,7 @@
 
 #define I 1.0iF
 
-#include <stdio.h>
+int putchar(char c);
 
 volatile double __complex__ accum;
 
diff --git a/test/CodeGen/predefined-expr.c b/test/CodeGen/predefined-expr.c
index 9b64593..1a5dcb4 100644
--- a/test/CodeGen/predefined-expr.c
+++ b/test/CodeGen/predefined-expr.c
@@ -9,7 +9,7 @@
 // CHECK: @__func__.staticFunction = private constant [15 x i8] c"staticFunction\00"
 // CHECK: @__PRETTY_FUNCTION__.staticFunction = private constant [22 x i8] c"void staticFunction()\00"
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 void plainFunction() {
   printf("__func__ %s\n", __func__);
diff --git a/test/CodeGen/volatile-1.c b/test/CodeGen/volatile-1.c
index 9df11d2..3203326 100644
--- a/test/CodeGen/volatile-1.c
+++ b/test/CodeGen/volatile-1.c
@@ -14,7 +14,7 @@
 } a, b;
 
 //void operator =(volatile struct S&o1, volatile struct S&o2) volatile;
-#include <stdio.h>
+int printf(const char *, ...);
 
 int main() {
   // A use.
diff --git a/test/CodeGenObjC/dot-syntax-1.m b/test/CodeGenObjC/dot-syntax-1.m
index 491ea0a..6fab039 100644
--- a/test/CodeGenObjC/dot-syntax-1.m
+++ b/test/CodeGenObjC/dot-syntax-1.m
@@ -1,6 +1,6 @@
 // RUN: clang-cc --emit-llvm -o %t %s
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 @interface Root
 -(id) alloc;
diff --git a/test/CodeGenObjC/dot-syntax.m b/test/CodeGenObjC/dot-syntax.m
index bd61a6a..348346b 100644
--- a/test/CodeGenObjC/dot-syntax.m
+++ b/test/CodeGenObjC/dot-syntax.m
@@ -1,6 +1,6 @@
 // RUN: clang-cc --emit-llvm -o %t %s
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 @interface Root
 -(id) alloc;
diff --git a/test/CodeGenObjC/messages-2.m b/test/CodeGenObjC/messages-2.m
index 02dbd01..5cf4d2d 100644
--- a/test/CodeGenObjC/messages-2.m
+++ b/test/CodeGenObjC/messages-2.m
@@ -1,6 +1,6 @@
 // RUN: clang-cc --emit-llvm -o %t %s
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 @interface Root
 @end
diff --git a/test/CodeGenObjC/property.m b/test/CodeGenObjC/property.m
index 8ac44f1..59f096f 100644
--- a/test/CodeGenObjC/property.m
+++ b/test/CodeGenObjC/property.m
@@ -1,6 +1,6 @@
 // RUN: clang-cc --emit-llvm -o %t %s
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 @interface Root
 -(id) alloc;
diff --git a/test/Lexer/digraph.c b/test/Lexer/digraph.c
index 4d494ca..3c92db1 100644
--- a/test/Lexer/digraph.c
+++ b/test/Lexer/digraph.c
@@ -1,6 +1,6 @@
 // RUN: clang-cc -fsyntax-only -verify < %s
 
-%:include <stdio.h>
+%:include <stdint.h>
 
     %:ifndef BUFSIZE
      %:define BUFSIZE  512
diff --git a/test/Parser/block-block-storageclass.c b/test/Parser/block-block-storageclass.c
index d24ec5f..df94234 100644
--- a/test/Parser/block-block-storageclass.c
+++ b/test/Parser/block-block-storageclass.c
@@ -1,6 +1,6 @@
 // RUN: clang-cc -fsyntax-only -verify -parse-noop %s
 #if 0
-#include <stdio.h>
+int printf(const char *, ...);
 void _Block_byref_release(void*src){}
 
 int main() {
diff --git a/test/Preprocessor/header_lookup1.c b/test/Preprocessor/header_lookup1.c
index df58a6e..10049ad 100644
--- a/test/Preprocessor/header_lookup1.c
+++ b/test/Preprocessor/header_lookup1.c
@@ -1,2 +1,2 @@
-// RUN: clang-cc -I /usr/include %s -E | grep 'stdio.h.*3.*4'
+// RUN: clang -I /usr/include %s -E | grep 'stdio.h.*3.*4'
 #include <stdio.h>
diff --git a/test/Preprocessor/objc-pp.m b/test/Preprocessor/objc-pp.m
index 4ab2f07..977789e 100644
--- a/test/Preprocessor/objc-pp.m
+++ b/test/Preprocessor/objc-pp.m
@@ -1,4 +1,4 @@
 // RUN: clang-cc %s -fsyntax-only -verify -pedantic
 
-#import <limits.h>  // no warning on #import in objc mode.
+#import <stdint.h>  // no warning on #import in objc mode.
 
diff --git a/test/Sema/attr-format_arg.c b/test/Sema/attr-format_arg.c
index 0830951..5f06f4b 100644
--- a/test/Sema/attr-format_arg.c
+++ b/test/Sema/attr-format_arg.c
@@ -1,6 +1,6 @@
 // RUN: clang-cc -fsyntax-only -verify %s
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 const char* f(const char *s) __attribute__((format_arg(1)));
 
diff --git a/test/Sema/block-byref-args.c b/test/Sema/block-byref-args.c
index 39745d5..06bab12 100644
--- a/test/Sema/block-byref-args.c
+++ b/test/Sema/block-byref-args.c
@@ -1,6 +1,6 @@
 // RUN: clang-cc %s -fsyntax-only -verify -fblocks
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 int main(int argc, char **argv) {
   __block void(*bobTheFunction)(void);
diff --git a/test/Sema/block-storageclass.c b/test/Sema/block-storageclass.c
index 3d2527b..aacf8be 100644
--- a/test/Sema/block-storageclass.c
+++ b/test/Sema/block-storageclass.c
@@ -1,6 +1,6 @@
 // RUN: clang-cc %s -fsyntax-only -verify -fblocks
 
-#include <stdio.h>
+int printf(const char *, ...);
 void _Block_byref_release(void*src){}
 
 int main() {
diff --git a/test/Sema/check-increment.c b/test/Sema/check-increment.c
index 9809544..72eae06 100644
--- a/test/Sema/check-increment.c
+++ b/test/Sema/check-increment.c
@@ -1,6 +1,6 @@
 // RUN: clang-cc -fsyntax-only -verify %s
 
-#include <stdio.h>
+int printf(const char *, ...);
 typedef int *pint;
 int main() {
    int a[5] = {0};
diff --git a/test/Sema/format-attr-pr4470.c b/test/Sema/format-attr-pr4470.c
index c03c573..24eece8 100644
--- a/test/Sema/format-attr-pr4470.c
+++ b/test/Sema/format-attr-pr4470.c
@@ -1,7 +1,7 @@
 // RUN: clang-cc -fsyntax-only -verify -Wformat=2 %s
 
-#include <stdio.h>
 #include <stdarg.h>
+int vprintf(const char *, va_list);
 
 const char *foo(const char *format) __attribute__((format_arg(1)));
 
diff --git a/test/Sema/format-strings.c b/test/Sema/format-strings.c
index 797e53c..0a9fcce 100644
--- a/test/Sema/format-strings.c
+++ b/test/Sema/format-strings.c
@@ -1,17 +1,20 @@
 // RUN: clang-cc -fsyntax-only -verify -Wformat-nonliteral %s
 
-// Define this to get vasprintf on Linux
-#define _GNU_SOURCE
-
-#include <stdio.h>
 #include <stdarg.h>
+typedef __typeof(sizeof(int)) size_t;
+typedef struct _FILE FILE;
+int fprintf(FILE *, const char *restrict, ...);
+int printf(const char *restrict, ...);
+int snprintf(char *restrict, size_t, const char *restrict, ...);
+int sprintf(char *restrict, const char *restrict, ...);
+int vasprintf(char **, const char *, va_list);
+int vfprintf(FILE *, const char *restrict, va_list);
+int vprintf(const char *restrict, va_list);
+int vsnprintf(char *, size_t, const char *, va_list);
+int vsprintf(char *restrict, const char *restrict, va_list);
 
 char * global_fmt;
 
-#if defined(_WIN32) || defined(_WIN64)
-extern int snprintf(char*, size_t, const char*, ...);
-#endif
-
 void check_string_literal( FILE* fp, const char* s, char *buf, ... ) {
 
   char * b;
diff --git a/test/Sema/ucn-cstring.c b/test/Sema/ucn-cstring.c
index 6d021fd..fb9a3b6 100644
--- a/test/Sema/ucn-cstring.c
+++ b/test/Sema/ucn-cstring.c
@@ -1,6 +1,6 @@
 // RUN: clang-cc %s -verify -fsyntax-only -pedantic
 
-#include <stdio.h>
+int printf(const char *, ...);
 
 int main(void) {
   int a[sizeof("hello \u2192 \u2603 \u2190 world") == 24 ? 1 : -1];
diff --git a/test/SemaObjC/unused.m b/test/SemaObjC/unused.m
index bbe3109..4e85894 100644
--- a/test/SemaObjC/unused.m
+++ b/test/SemaObjC/unused.m
@@ -1,5 +1,6 @@
 // RUN: clang-cc %s -verify -Wunused -fsyntax-only
-#include <stdio.h>
+
+int printf(const char *, ...);
 
 @interface Greeter
 + (void) hello;
@@ -7,7 +8,7 @@
 
 @implementation Greeter
 + (void) hello {
-    fprintf(stdout, "Hello, World!\n");
+    printf("Hello, World!\n");
 }
 @end