Skip to content
This repository has been archived by the owner on Jan 11, 2020. It is now read-only.

Latest commit

 

History

History
147 lines (117 loc) · 5.5 KB

README.rst

File metadata and controls

147 lines (117 loc) · 5.5 KB

libc11: C11 standard library

Travis CI build status

Coverity Scan build status

libc11 is a public domain implementation of the C11 (ISO/IEC 9899:2011) standard library.

Features

  • No build prerequisites beyond the Autotools toolchain and a C99 compiler.
  • 100% free and unencumbered public domain software, usable in any context and for any purpose.

Current Status

This table summarizes which C11 features are implemented at present:

Header Spec Description Status

<assert.h> <complex.h>

C11 7.2 C11 7.3

Diagnostics. Complex arithmetic.

WIP

<ctype.h> C11 7.4 Character handling. Implemented.

<errno.h> <fenv.h> <float.h>

C11 7.5 C11 7.6 C11 7.7

Errors. Floating-point environment. Characteristics of floating types.

WIP

<inttypes.h> C11 7.8 Format conversion of integer types. WIP
<iso646.h> C11 7.9 Alternative spellings. Implemented.
<limits.h> C11 7.10 Sizes of integer types. Implemented.

<locale.h> <math.h> <setjmp.h>

C11 7.11 C11 7.12 C11 7.13

Localization. Mathematics. Nonlocal jumps.

WIP

<signal.h> C11 7.14 Signal handling. WIP
<stdalign.h> C11 7.15 Alignment. Implemented.
<stdarg.h> C11 7.16 Variable arguments. Implemented.1
<stdatomic.h> C11 7.17 Atomics. WIP
<stdbool.h> C11 7.18 Boolean type and values. Implemented.
<stddef.h> C11 7.19 Common definitions. WIP
<stdint.h> C11 7.20 Integer types. WIP
<stdio.h> C11 7.21 Input/output. WIP
<stdlib.h> C11 7.22 General utilities. WIP
<stdnoreturn.h> C11 7.23 _Noreturn. Implemented.

<string.h> <tgmath.h> <threads.h> <time.h> <uchar.h>

C11 7.24 C11 7.25 C11 7.26 C11 7.27 C11 7.28

String handling. Type-generic math. Threads. Date and time. Unicode utilities.

WIP

<wchar.h> C11 7.29 Wide character utilities. Omitted.2
<wctype.h> C11 7.30 Wide character utilities. Omitted.3

Footnotes

Installation

Installation on Unix

$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig                      # on Linux

Elsewhere

Find this project at: GitHub, Bitbucket, Ohloh, Freecode, SourceForge, Travis CI, Twitter, Tumblr, and COD5.

Many other open-source implementations of the C standard library exist, though most of them are licensed more restrictively than this implementation:

Author

This project is part of the DRY initiative.

Donations

If you found this software useful and would like to encourage its maintenance and further development, please consider making a donation to the Bitcoin wallet address 1AiNcRvhxJQbBJ98Rcpyc8gtF3dGy8AxGQ.

License

This is free and unencumbered public domain software. For more information, see http://unlicense.org/ or the accompanying UNLICENSE file.


  1. Currently implemented only for the Clang and GCC compilers.

  2. Purposely omitted from the library.

  3. Purposely omitted from the library.