[libc-commits] [libc] 12aae7d - [libc][docs] Add doc for libc stdio functions
Michael Jones via libc-commits
libc-commits at lists.llvm.org
Thu May 12 13:02:28 PDT 2022
Author: Michael Jones
Date: 2022-05-12T13:02:23-07:00
New Revision: 12aae7d9a685dfdc5c59b2003d13d088c20e697c
URL: https://github.com/llvm/llvm-project/commit/12aae7d9a685dfdc5c59b2003d13d088c20e697c
DIFF: https://github.com/llvm/llvm-project/commit/12aae7d9a685dfdc5c59b2003d13d088c20e697c.diff
LOG: [libc][docs] Add doc for libc stdio functions
This patch adds a document describing the status of the string functions
in LLVM-libc.
Reviewed By: sivachandra, lntue
Differential Revision: https://reviews.llvm.org/D123823
Added:
libc/docs/stdio.rst
Modified:
libc/docs/index.rst
libc/docs/strings.rst
Removed:
################################################################################
diff --git a/libc/docs/index.rst b/libc/docs/index.rst
index a0629fe51589..835e2fb17e0b 100644
--- a/libc/docs/index.rst
+++ b/libc/docs/index.rst
@@ -84,3 +84,4 @@ Other Interesting Documentation
source_layout
strings
runtimes_build
+ stdio
diff --git a/libc/docs/stdio.rst b/libc/docs/stdio.rst
new file mode 100644
index 000000000000..5467aac5060c
--- /dev/null
+++ b/libc/docs/stdio.rst
@@ -0,0 +1,98 @@
+=============================
+StdIO Functions in LLVM-libc
+=============================
+
+-------
+Summary
+-------
+
+This document tracks the status of the implementation of stdio functions in LLVM
+Libc.
+
+---------------
+Source location
+---------------
+
+- The main source for string functions is located at:
+ ``libc/src/stdio`` with subdirectories for internal implementations.
+
+---------------------
+Implementation Status
+---------------------
+
+Formatted Input/Output Functions
+================================
+
+These functions take in format strings and arguments of various types and
+convert either to or from those arguments. These functions are the current focus
+(owner: michaelrj).
+
+============= =========
+Function_Name Available
+============= =========
+\*printf WIP
+\*scanf
+============= =========
+
+``FILE`` Access
+===============
+
+These functions are used to interact with the ``FILE`` object type, which is an
+I/O stream, often used to represent a file on the host's hard drive. Currently
+the ``FILE`` object is only available on linux.
+
+============= =========
+Function_Name Available
+============= =========
+fopen YES
+freopen
+fclose YES
+fflush YES
+setbuf
+setvbuf
+ftell
+fgetpos
+fseek YES
+fsetpos
+rewind
+tmpfile
+clearerr YES
+feof YES
+ferror YES
+flockfile YES
+funlockfile YES
+============= =========
+
+Operations on system files
+==========================
+
+These functions operate on files on the host's system, without using the
+``FILE`` object type. They only take the name of the file being operated on.
+
+============= =========
+Function_Name Available
+============= =========
+remove
+rename
+tmpnam
+============= =========
+
+Unformatted ``FILE`` Input/Output Functions
+===========================================
+
+The ``gets`` function was removed in C11 for having no bounds checking and
+therefor being impossible to use safely.
+
+============= =========
+Function_Name Available
+============= =========
+(f)getc
+fgets
+getchar
+fread YES
+(f)putc
+(f)puts
+putchar
+fwrite YES
+ungetc
+============= =========
diff --git a/libc/docs/strings.rst b/libc/docs/strings.rst
index bcf650d98125..df0f6e1ffa18 100644
--- a/libc/docs/strings.rst
+++ b/libc/docs/strings.rst
@@ -38,7 +38,7 @@ Primary memory functions
============= =========
-Function_Name Available
+Function Name Available
============= =========
bzero YES
bcmp YES
More information about the libc-commits
mailing list