summaryrefslogtreecommitdiffstats
path: root/SDKs/darwin/usr/include/stdio.h
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2011-12-31 14:55:23 +0000
committered <ed@FreeBSD.org>2011-12-31 14:55:23 +0000
commit6a5f9bc9ae3205be8bb5570b86a509fcd01a9db6 (patch)
treed59ced7e19afaab87432b7610faefff3080e8d2a /SDKs/darwin/usr/include/stdio.h
parentee2dbb0f7e84d908ac62aecc178992c9be1ca636 (diff)
downloadFreeBSD-src-6a5f9bc9ae3205be8bb5570b86a509fcd01a9db6.zip
FreeBSD-src-6a5f9bc9ae3205be8bb5570b86a509fcd01a9db6.tar.gz
Import compiler-rt r147390.
Diffstat (limited to 'SDKs/darwin/usr/include/stdio.h')
-rw-r--r--SDKs/darwin/usr/include/stdio.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/SDKs/darwin/usr/include/stdio.h b/SDKs/darwin/usr/include/stdio.h
new file mode 100644
index 0000000..3b56036
--- /dev/null
+++ b/SDKs/darwin/usr/include/stdio.h
@@ -0,0 +1,61 @@
+/* ===-- stdio.h - stub SDK header for compiler-rt --------------------------===
+ *
+ * The LLVM Compiler Infrastructure
+ *
+ * This file is dual licensed under the MIT and the University of Illinois Open
+ * Source Licenses. See LICENSE.TXT for details.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __STDIO_H__
+#define __STDIO_H__
+
+typedef struct __sFILE FILE;
+typedef __SIZE_TYPE__ size_t;
+
+/* Determine the appropriate fopen() and fwrite() functions. */
+#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)
+# if defined(__i386)
+# define __FOPEN_NAME "_fopen$UNIX2003"
+# define __FWRITE_NAME "_fwrite$UNIX2003"
+# elif defined(__x86_64__)
+# define __FOPEN_NAME "_fopen"
+# define __FWRITE_NAME "_fwrite"
+# elif defined(__arm)
+# define __FOPEN_NAME "_fopen"
+# define __FWRITE_NAME "_fwrite"
+# else
+# error "unrecognized architecture for targetting OS X"
+# endif
+#elif defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__)
+# if defined(__i386) || defined (__x86_64)
+# define __FOPEN_NAME "_fopen"
+# define __FWRITE_NAME "_fwrite"
+# elif defined(__arm)
+# define __FOPEN_NAME "_fopen"
+# define __FWRITE_NAME "_fwrite"
+# else
+# error "unrecognized architecture for targetting iOS"
+# endif
+#else
+# error "unrecognized architecture for targetting Darwin"
+#endif
+
+# define stderr __stderrp
+extern FILE *__stderrp;
+
+int fclose(FILE *);
+int fflush(FILE *);
+FILE *fopen(const char * restrict, const char * restrict) __asm(__FOPEN_NAME);
+int fprintf(FILE * restrict, const char * restrict, ...);
+size_t fwrite(const void * restrict, size_t, size_t, FILE * restrict)
+ __asm(__FWRITE_NAME);
+
+#endif /* __STDIO_H__ */
OpenPOWER on IntegriCloud