aboutsummaryrefslogtreecommitdiff
path: root/runtime/GCCLibraries/libc/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/GCCLibraries/libc/io.c')
-rw-r--r--runtime/GCCLibraries/libc/io.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/runtime/GCCLibraries/libc/io.c b/runtime/GCCLibraries/libc/io.c
new file mode 100644
index 0000000000..e09283ada5
--- /dev/null
+++ b/runtime/GCCLibraries/libc/io.c
@@ -0,0 +1,18 @@
+//===-- io.c - IO routines for LLVM libc Library ------------------*- C -*-===//
+//
+// A lot of this code is ripped gratuitously from glibc and libiberty.
+//
+//===----------------------------------------------------------------------===//
+
+int putchar(int);
+
+// The puts() function writes the string pointed to by s, followed by a
+// NEWLINE character, to the standard output stream stdout. On success the
+// number of characters written is returned; otherwise they return EOF.
+//
+int puts(const char *S) {
+ const char *Str = S;
+ while (*Str) putchar(*Str++);
+ putchar('\n');
+ return Str+1-S;
+}