Skip to content

Commit 396ed9c

Browse files
authored
[libc][search] implement posix lfind function (#114692)
# Changes - Implement the POSIX [`lfind`](https://man7.org/linux/man-pages/man3/lsearch.3.html) function. - Put a checkmark in the [posix support table docs](https://libc.llvm.org/libc_search.html) next to `lfind`.
1 parent 9d4837f commit 396ed9c

File tree

20 files changed

+186
-1
lines changed

20 files changed

+186
-1
lines changed

libc/config/baremetal/arm/entrypoints.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ set(TARGET_LIBC_ENTRYPOINTS
2626
# errno.h entrypoints
2727
libc.src.errno.errno
2828

29+
# search.h entrypoints
30+
libc.src.search.lfind
31+
2932
# setjmp.h entrypoints
3033
libc.src.setjmp.longjmp
3134
libc.src.setjmp.setjmp

libc/config/baremetal/riscv/entrypoints.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ set(TARGET_LIBC_ENTRYPOINTS
2626
# errno.h entrypoints
2727
libc.src.errno.errno
2828

29+
# search.h entrypoints
30+
libc.src.search.lfind
31+
2932
# string.h entrypoints
3033
libc.src.string.bcmp
3134
libc.src.string.bcopy

libc/config/darwin/arm/entrypoints.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ set(TARGET_LIBC_ENTRYPOINTS
2020
# errno.h entrypoints
2121
libc.src.errno.errno
2222

23+
# search.h entrypoints
24+
libc.src.search.lfind
25+
2326
# string.h entrypoints
2427
libc.src.string.bcmp
2528
libc.src.string.bcopy

libc/config/darwin/x86_64/entrypoints.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ set(TARGET_LIBC_ENTRYPOINTS
1717
libc.src.ctype.tolower
1818
libc.src.ctype.toupper
1919

20+
# search.h entrypoints
21+
libc.src.search.lfind
22+
2023
# string.h entrypoints
2124
libc.src.string.bcmp
2225
libc.src.string.bzero

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -960,6 +960,7 @@ if(LLVM_LIBC_FULL_BUILD)
960960
libc.src.search.hsearch
961961
libc.src.search.hsearch_r
962962
libc.src.search.insque
963+
libc.src.search.lfind
963964
libc.src.search.remque
964965

965966
# threads.h entrypoints

libc/config/linux/arm/entrypoints.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ set(TARGET_LIBC_ENTRYPOINTS
2020
# errno.h entrypoints
2121
libc.src.errno.errno
2222

23+
# search.h entrypoints
24+
libc.src.search.lfind
25+
2326
# string.h entrypoints
2427
libc.src.string.bcmp
2528
libc.src.string.bcopy

libc/config/linux/riscv/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -885,6 +885,7 @@ if(LLVM_LIBC_FULL_BUILD)
885885
libc.src.search.hsearch
886886
libc.src.search.hsearch_r
887887
libc.src.search.insque
888+
libc.src.search.lfind
888889
libc.src.search.remque
889890

890891
# threads.h entrypoints

libc/config/linux/x86_64/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,6 +1025,7 @@ if(LLVM_LIBC_FULL_BUILD)
10251025
libc.src.search.hsearch
10261026
libc.src.search.hsearch_r
10271027
libc.src.search.insque
1028+
libc.src.search.lfind
10281029
libc.src.search.remque
10291030

10301031
# threads.h entrypoints

libc/config/windows/entrypoints.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ set(TARGET_LIBC_ENTRYPOINTS
1717
libc.src.ctype.tolower
1818
libc.src.ctype.toupper
1919

20+
# search.h entrypoints
21+
libc.src.search.lfind
22+
2023
# string.h entrypoints
2124
libc.src.string.bcmp
2225
libc.src.string.bcopy

libc/docs/libc_search.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ hcreate |check|
4242
hdestroy |check|
4343
hsearch |check|
4444
insque |check|
45-
lfind
45+
lfind |check|
4646
lsearch
4747
remque |check|
4848
tdelete

0 commit comments

Comments
 (0)