Skip to content

Commit 3fb9663

Browse files
Зишан Мирзаzimirza
Зишан Мирза
authored andcommitted
[libc] implement localtime
This is an implementation of localtime. Closes llvm#107597 and llvm#109892
1 parent 41910f7 commit 3fb9663

19 files changed

+2195
-7
lines changed

libc/config/baremetal/arm/entrypoints.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,8 @@ set(TARGET_LIBC_ENTRYPOINTS
206206
libc.src.time.asctime_r
207207
libc.src.time.ctime
208208
libc.src.time.ctime_r
209+
libc.src.time.localtime
210+
libc.src.time.localtime_r
209211
libc.src.time.difftime
210212
libc.src.time.gmtime
211213
libc.src.time.gmtime_r

libc/config/baremetal/riscv/entrypoints.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,8 @@ set(TARGET_LIBC_ENTRYPOINTS
202202
libc.src.time.asctime_r
203203
libc.src.time.ctime
204204
libc.src.time.ctime_r
205+
libc.src.time.localtime
206+
libc.src.time.localtime_r
205207
libc.src.time.difftime
206208
libc.src.time.gmtime
207209
libc.src.time.gmtime_r

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1015,6 +1015,8 @@ if(LLVM_LIBC_FULL_BUILD)
10151015
libc.src.time.asctime_r
10161016
libc.src.time.ctime
10171017
libc.src.time.ctime_r
1018+
libc.src.time.localtime
1019+
libc.src.time.localtime_r
10181020
libc.src.time.clock
10191021
libc.src.time.clock_gettime
10201022
libc.src.time.difftime

libc/config/linux/riscv/entrypoints.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -942,6 +942,8 @@ if(LLVM_LIBC_FULL_BUILD)
942942
libc.src.time.asctime_r
943943
libc.src.time.ctime
944944
libc.src.time.ctime_r
945+
libc.src.time.localtime
946+
libc.src.time.localtime_r
945947
libc.src.time.clock
946948
libc.src.time.clock_gettime
947949
libc.src.time.difftime

libc/config/linux/x86_64/entrypoints.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1101,6 +1101,8 @@ if(LLVM_LIBC_FULL_BUILD)
11011101
libc.src.time.asctime_r
11021102
libc.src.time.ctime
11031103
libc.src.time.ctime_r
1104+
libc.src.time.localtime
1105+
libc.src.time.localtime_r
11041106
libc.src.time.clock
11051107
libc.src.time.clock_gettime
11061108
libc.src.time.difftime

libc/include/time.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,19 @@ functions:
3838
arguments:
3939
- type: const time_t *
4040
- type: char *
41+
- name: localtime
42+
standard:
43+
- stdc
44+
return_type: struct tm *
45+
arguments:
46+
- type: const time_t *
47+
- name: localtime_r
48+
standard:
49+
- stdc
50+
return_type: struct tm *
51+
arguments:
52+
- type: const time_t *
53+
- type: struct tm *
4154
- name: clock
4255
standard:
4356
- stdc

0 commit comments

Comments
 (0)