[libc++][Android] Allow testing libc++ with clang-r536225 (#116149)
[llvm-project.git] / libc / docs / date_and_time.rst
blobb745a3b416f802c6ee9b06c461c71050af1b8dd6
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-riscv and linux-riscv32 <https://github.com/llvm/llvm-project/tree/main/libc/config/linux/riscv/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/riscv32 | 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 | ctime               | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
59 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
60 | ctime_r             | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
61 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
62 | clock               | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
63 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
64 | clock_getcpuclockid |         |         |         |                 |         |         |         |         |         |         |         |         |
65 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
66 | clock_getres        |         |         |         |                 |         |         |         |         |         |         |         |         |
67 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
68 | clock_gettime       | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
69 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
70 | clock_nanosleep     |         |         |         |                 |         |         |         |         |         |         |         |         |
71 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
72 | clock_settime       |         |         |         |                 |         |         |         |         |         |         |         |         |
73 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
74 | ctime               |         |         |         |                 |         |         |         |         |         |         |         |         |
75 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
76 | ctime_r             |         |         |         |                 |         |         |         |         |         |         |         |         |
77 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
78 | difftime            | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
79 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
80 | getdate             |         |         |         |                 |         |         |         |         |         |         |         |         |
81 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
82 | gettimeofday        | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
83 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
84 | gmtime              | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
85 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
86 | gmtime_r            | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
87 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
88 | localtime           |         |         |         |                 |         |         |         |         |         |         |         |         |
89 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
90 | localtime_r         |         |         |         |                 |         |         |         |         |         |         |         |         |
91 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
92 | mktime              | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
93 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
94 | nanosleep           | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
95 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
96 | strftime            |         |         |         |                 |         |         |         |         |         |         |         |         |
97 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
98 | strptime            |         |         |         |                 |         |         |         |         |         |         |         |         |
99 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
100 | time                | |check| | |check| |         |     |check|     |         |         |         |         |         |         |         |         |
101 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
102 | timer_create        |         |         |         |                 |         |         |         |         |         |         |         |         |
103 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
104 | timer_delete        |         |         |         |                 |         |         |         |         |         |         |         |         |
105 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
106 | timer_gettime       |         |         |         |                 |         |         |         |         |         |         |         |         |
107 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
108 | timer_getoverrun    |         |         |         |                 |         |         |         |         |         |         |         |         |
109 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
110 | timer_settime       |         |         |         |                 |         |         |         |         |         |         |         |         |
111 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+
112 | tzset               |         |         |         |                 |         |         |         |         |         |         |         |         |
113 +---------------------+---------+---------+---------+-----------------+---------+---------+---------+---------+---------+---------+---------+---------+