[libc][NFC] Move aligned access implementations to separate header
[llvm-project.git] / libc / docs / date_and_time.rst
blob8d25ea6e9461358b3cf80866b7ecd65aaaf89656
1 =======================
2 Date and Time Functions
3 =======================
5 .. include:: check.rst
7 ---------------
8 Source location
9 ---------------
11 -   The main source for time functions is located at: ``libc/src/time``
13 ---------------------
14 Implementation Status
15 ---------------------
17 * To check date and time functions enabled for Linux:
19   - `linux-x86_64 <https://github.com/llvm/llvm-project/tree/main/libc/config/linux/x86_64/entrypoints.txt>`_
21   - `linux-aarch64 <https://github.com/llvm/llvm-project/tree/main/libc/config/linux/aarch64/entrypoints.txt>`_
23   - `linux-aarch32 <https://github.com/llvm/llvm-project/tree/main/libc/config/linux/arm/entrypoints.txt>`_
25   - `linux-riscv64 <https://github.com/llvm/llvm-project/tree/main/libc/config/linux/riscv64/entrypoints.txt>`_
27 * To check date and time functions enabled for Windows:
29   - `windows-x86_64 <https://github.com/llvm/llvm-project/tree/main/libc/config/windows/entrypoints.txt>`_ 
31   - windows-aarch64 - to be added
33 * To check date and time functions enabled for macOS:
35   - `darwin-x86_64 <https://github.com/llvm/llvm-project/tree/main/libc/config/darwin/x86_64/entrypoints.txt>`_
37   - `darwin-aarch64 <https://github.com/llvm/llvm-project/tree/main/libc/config/darwin/arm/entrypoints.txt>`_
39 * To check date and time functions enabled for GPU:
41   - `gpu-entrypoints <https://github.com/llvm/llvm-project/tree/main/libc/config/gpu/entrypoints.txt>`_ 
43 * To check date and time functions enabled for embedded system:
45   - `barebone-aarch32 <https://github.com/llvm/llvm-project/tree/main/libc/config/baremetal/arm/entrypoints.txt>`_ 
47   - barebone-riscv32 - to be added
49 +---------------------+---------------------------------------+-------------------+-------------------+-------------------+-------------------+
50 | <Func>              |  Linux                                | Windows           | MacOS             | Embedded          | GPU               |
51 |                     +---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
52 |                     | x86_64  | aarch64 | aarch32 | riscv64 | x86_64  | aarch64 | x86_64  | aarch64 | aarch32 | riscv32 | AMD     | nVidia  |
53 +=====================+=========+=========+=========+=========+=========+=========+=========+=========+=========+=========+=========+=========+
54 | asctime             | |check| | |check| |         | |check| |         |         |         |         |         |         |         |         |
55 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
56 | asctime_r           | |check| | |check| |         | |check| |         |         |         |         |         |         |         |         |
57 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
58 | clock               | |check| | |check| |         | |check| |         |         |         |         |         |         |         |         |
59 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
60 | clock_getcpuclockid |         |         |         |         |         |         |         |         |         |         |         |         |
61 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
62 | clock_getres        |         |         |         |         |         |         |         |         |         |         |         |         |
63 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
64 | clock_gettime       | |check| | |check| |         | |check| |         |         |         |         |         |         |         |         |
65 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
66 | clock_nanosleep     |         |         |         |         |         |         |         |         |         |         |         |         |
67 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
68 | clock_settime       |         |         |         |         |         |         |         |         |         |         |         |         |
69 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
70 | ctime               |         |         |         |         |         |         |         |         |         |         |         |         |
71 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
72 | ctime_r             |         |         |         |         |         |         |         |         |         |         |         |         |
73 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
74 | difftime            | |check| | |check| |         | |check| |         |         |         |         |         |         |         |         |
75 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
76 | getdate             |         |         |         |         |         |         |         |         |         |         |         |         |
77 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
78 | gettimeofday        | |check| | |check| |         | |check| |         |         |         |         |         |         |         |         |
79 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
80 | gmtime              | |check| | |check| |         | |check| |         |         |         |         |         |         |         |         |
81 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
82 | gmtime_r            | |check| | |check| |         | |check| |         |         |         |         |         |         |         |         |
83 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
84 | localtime           |         |         |         |         |         |         |         |         |         |         |         |         |
85 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
86 | localtime_r         |         |         |         |         |         |         |         |         |         |         |         |         |
87 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
88 | mktime              | |check| | |check| |         | |check| |         |         |         |         |         |         |         |         |
89 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
90 | nanosleep           | |check| | |check| |         | |check| |         |         |         |         |         |         |         |         |
91 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
92 | strftime            |         |         |         |         |         |         |         |         |         |         |         |         |
93 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
94 | strptime            |         |         |         |         |         |         |         |         |         |         |         |         |
95 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
96 | time                | |check| | |check| |         | |check| |         |         |         |         |         |         |         |         |
97 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
98 | timer_create        |         |         |         |         |         |         |         |         |         |         |         |         |
99 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
100 | timer_delete        |         |         |         |         |         |         |         |         |         |         |         |         |
101 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
102 | timer_gettime       |         |         |         |         |         |         |         |         |         |         |         |         |
103 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
104 | timer_getoverrun    |         |         |         |         |         |         |         |         |         |         |         |         |
105 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
106 | timer_settime       |         |         |         |         |         |         |         |         |         |         |         |         |
107 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
108 | tzset               |         |         |         |         |         |         |         |         |         |         |         |         |
109 +---------------------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+