Developer GuidesΒΆ

Navigate to the links below for information on the respective topics:

  • The libc code style
    • Naming style
    • Macro style
    • Inline functions defined in header files
    • Setting errno from runtime code
    • Assertions in libc runtime code
    • Allocations in the libc runtime code
  • LLVM-libc Source Tree Layout
    • The cmake directory
    • The docs directory
    • The fuzzing directory
    • The include directory
    • The lib directory
    • The startup directory
    • The src directory
    • The test directory
    • The utils directory
  • Entrypoints in LLVM libc
  • The libc CMake build system
    • Targets for entrypoints
    • Targets for entrypoint libraries
  • LLVM libc clang-tidy checks
    • restrict-system-libc-header
    • implementation-in-namespace
    • callee-namespace
  • Fuzzing for LLVM-libc functions
  • Types of fuzz tests
  • The ground truth of standards
  • Generating Public and Internal headers
    • Header Configuration Language
      • Command syntax
      • Argument Syntax
      • Comments
    • Available Commands
      • include_file
      • begin
      • public_api
  • Convention for implementing entrypoints
    • Implementation Header File Structure
    • .cpp File Structure
  • API Test
  • The mechanics of the public_api command
    • Under the hood

libc

Navigation

Using

  • Usage Modes
  • Overlay Mode
  • Fullbuild Mode
  • GPU Mode

Status

  • Compiler Support
  • Date and Time Functions
  • Math Functions
  • String Functions
  • StdIO Functions

Development

  • Building and Testing the libc
  • Developer Guides
  • Bringup on a New OS or Architecture
  • Contributing to the libc Project

External Links

  • Source Code
  • Bug Reports
  • Discourse
  • Join the Discord
  • Discord Channel
  • Buildbot

Related Topics

  • Documentation overview
    • Previous: Building and Testing the libc
    • Next: The libc code style

Quick search

©2011-2023, LLVM Project. | Powered by Sphinx 1.8.5 & Alabaster 0.7.12 | Page source