[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
This commit is contained in:
Michael Jones 2022-04-14 14:32:16 -07:00
parent 232c00ba5b
commit 12aae7d9a6
3 changed files with 100 additions and 1 deletions

View File

@ -84,3 +84,4 @@ Other Interesting Documentation
source_layout
strings
runtimes_build
stdio

98
libc/docs/stdio.rst Normal file
View File

@ -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
============= =========

View File

@ -38,7 +38,7 @@ Primary memory functions
============= =========
Function_Name Available
Function Name Available
============= =========
bzero YES
bcmp YES