Commit Graph

500 Commits

Author SHA1 Message Date
Uzair Nawaz
f26c0d00df [libc] Implemented wcsdup libc function (#150453)
Implemented wcsdup by templating internal strdup function
2025-07-24 11:29:40 -07:00
sribee8
4f2686e5a1 [libc] Implemented mblen functions (#150141)
Implemented mblen and mbrlen as well as tests

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-07-24 18:28:25 +00:00
lntue
42017c661c [libc] Add missing libc.include.inttypes for targets including <inttypes.h>. (#150345) 2025-07-24 04:39:33 +00:00
lntue
66603dd1f1 [libc][NFC] Add stdint.h proxy header to fix dependency issue with <stdint.h> includes. (#150303)
https://github.com/llvm/llvm-project/issues/149993
2025-07-23 20:19:52 -04:00
Muhammad Bassiouni
c59e4b5805 [libc][math] fix header generation (#149918) 2025-07-22 01:13:14 +03:00
Roland McGrath
13f7786f72 [libc] Remove trivial .h.def files (#149466)
Remove all the .h.def files that already express nothing
whatsoever not already expressed in YAML.  Clean up a few YAML
files without materially changing any generated header output.

Many more .h.def files remain that need a bit of conversion in
YAML to express macro requirements and such.
2025-07-18 11:35:09 -07:00
lntue
a676ecd83f [libc][math] Add POSIX math constants to math.h header. (#149150)
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/math.h.html
2025-07-18 11:28:22 -04:00
Roland McGrath
72a2d8220a [libc] Convert dlfcn.h to pure YAML (#149362)
Remove the unnecessary .h.def file and move all the macro
definitions directly into dlfcn.yaml.
2025-07-17 15:05:20 -07:00
Prabhu Rajasekaran
e8182fb501 [libc] add wctype.h header (#149202)
Add basic configurations to generate wctype.h header file. To begin with
this header file just exposes one function iswalpha.
2025-07-17 13:06:04 -07:00
Uzair Nawaz
711132dfa4 [libc] Implement widechar to integer public functions (#148683)
Implement public wchar -> integer public functions using templated
internal wcs_to_integer function
2025-07-14 13:33:12 -07:00
Connector Switch
c3abe3ff22 [libc][math][c23] implement C23 math function tanpif (#147192)
The smoke test and exhaustive test pass on x86_64 Linux.

Closes #94895.
2025-07-12 12:39:33 +08:00
William Huynh
e908f6131e [libc] Fix WEOF and fix 1'000'000 error messages on test failure (#147928)
1. WEOF is defined as a `wint_t` by the C standard. On certain
architectures, the test won't compile on `-Wall`. This fixes it.
2. If `testSubnormalRange` fails, it will spit out way too many error
messages, which overwhelms my test environment. I reduce this to 1k for
now.

This is required for #145349
2025-07-11 09:35:04 +01:00
sribee8
d5436b0b95 [libc] wcslcat implementation (#146588)
implemented wcslcat and tests.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-07-09 23:54:03 +00:00
sribee8
16f046281b [libc] wcslcpy implementation (#146571)
Implemented wcslcpy and tests.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-07-09 21:17:16 +00:00
sribee8
47e28d9cd1 [libc] wcscspn implementation (#146158)
Implemented wcscspn and tests.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-07-01 15:56:09 +00:00
Uzair Nawaz
7a33b709b1 [libc] wcstok implementation (#145989)
Implemented wcstok and added tests
2025-06-30 10:41:00 -07:00
Schrodinger ZHU Yifan
a8f460d1dc [libc] implement sigsetjmp for thumb/thumb2/armv7-a (#138147) 2025-06-30 12:32:14 -04:00
sribee8
ac7e391035 [libc] Implemented wcsnlen (#145610)
Implemented wcsnlen and tests for the function.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-06-27 16:51:37 +00:00
Uzair Nawaz
2db0289abe [libc] Implemented wctomb (#145554)
Implemented wctomb by calling internal wcrtomb function
Added tests
2025-06-25 13:23:47 -07:00
sribee8
bc5e5c0114 [libc] wcpncpy implementation (#145430)
Implemented wcpncpy and tests.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-06-23 23:35:28 +00:00
sribee8
10d46cf0d5 [libc] mbtowc implementation (#145405)
Implemented mbtowcs and tests for the function.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-06-23 23:25:13 +00:00
sribee8
b215c8e18f [libc] wcpcpy implementation (#144802)
Implemented wcpcpy and tests.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-06-23 18:31:13 +00:00
Uzair Nawaz
a911543437 [libc] Implemented wcrtomb internal function and public libc function (#144596)
Implemented internal wcrtomb function using the CharacterConverter class
public libc function calls this internal function to perform the
conversion
2025-06-20 14:43:00 -07:00
sribee8
d078ce7c98 [libc] mbrtowc implementation (#144760)
implemented the internal and public mbrtowc as well as tests for the
public function.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-06-20 20:00:59 +00:00
William Huynh
fd432151a6 [libc] Fix bugs found when testing with all headers (#144049)
Fixes a couple of bugs found when building. The PR to enable the headers
can be found here: #144114.

- math.yaml: float128 guard
- wchar.yaml: __restrict keyword order
2025-06-13 10:26:40 -07:00
Uzair Nawaz
b184672ec7 [libc] Implemented wmemmove (#142245)
Implemented wmemmove and added tests
2025-06-13 16:48:24 +00:00
Michael Jones
5a6a4b6ba6 [libc] Implement perror (#143624)
The perror function writes an error message directly to stderr. This
patch adds an implementation, tests, and header generation details.
2025-06-12 10:45:47 -07:00
Uzair Nawaz
6311f039b2 [libc] Build fixes for widechar characterconverter (#143805)
Build fixes for wchar CharacterConverter class
2025-06-12 17:34:45 +00:00
lntue
82f19674bf [libc] Update size_t and ssize_t definitions to use __SIZE_TYPE__ and __PTRDIFF_TYPE__ respectively. (#143921)
The current definition of `ssize_t` does not have the same bit width as
`size_t` on 32-bit platforms.
2025-06-12 13:11:42 -04:00
W. Turner Abney
4039fdb7ba [libc] add ioctl (#141393)
Closes #85275
Closes #90317
Updates #97191

---------

Co-authored-by: Joseph Huber <huberjn@outlook.com>
Co-authored-by: Michael Jones <michaelrj@google.com>
2025-06-12 09:20:32 -07:00
William
117e78fe50 [libc] Add NULL macro definitions to header files (#142764)
By the C standard, <locale.h>, <stddef.h> <stdio.h>, <stdlib.h>,
<string.h>, <time.h>, and <wchar.h> require NULL to be defined.
2025-06-11 09:51:34 -07:00
William
a75fc765d3 [libc] Add definitions to embedded AArch32/AArch64 (#142597)
Add `CLOCKS_PER_SEC` and the older `CLK_TCK`. Allows the user to define
a `__CLK_TCK` to override if necessary.

Also add an extra column for embedded AArch64 in `time.rst`
2025-06-06 16:05:14 -04:00
sribee8
22dd9a2483 [libc] wmemchr implementation (#142640)
Implemented wmemchr and tests.
Fixes: #121183

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-06-03 17:05:14 -07:00
sribee8
2ff2a076cc [libc] wcsncpy implementation (#142237)
Implemented wcsncpy and tests for the function.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-06-03 16:37:14 -07:00
sribee8
3887c23059 [libc] wcscat implementation (#142243)
Implemented wcscat and tests.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-06-03 09:58:08 -07:00
Michael Jones
cc68367bb9 [libc][obvious] fix wchar yaml formatting (#142506)
The yaml ended up with a typo, possibly due to merge issues. This patch
fixes it.
2025-06-02 17:00:23 -07:00
Uzair Nawaz
c8741851d1 [libc] Implemented wcsncmp (#142429)
Implemented wcsncmp and added tests
2025-06-02 16:05:47 -07:00
sribee8
e3d1a33b7e [libc] wcsstr implementation (#142440)
Implemented wcsstr and tests.
fixes #124348

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-06-02 16:05:12 -07:00
sribee8
9422abf9eb [libc] wcsncat implementation (#142431)
Implemented wcsncat and tests.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-06-02 15:20:10 -07:00
Uzair Nawaz
dabe983e7e [libc] Implemented wcsrchr (#142436)
fixes #124347 
Implemented wcsrchr and added tests
2025-06-02 15:18:44 -07:00
Uzair Nawaz
62af2a5ae2 [libc] Implemented wcscmp (#142423)
Implemented wcscmp and added tests
2025-06-02 15:16:14 -07:00
Uzair Nawaz
c80c452525 [libc] Implemented wmempcpy (#142067)
Implemented wmempcpy and added tests
2025-06-02 15:00:46 -07:00
sribee8
e38375310e [libc] wcscpy implementation (#142228)
Implemented wcscpy as well as tests for the function.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-06-02 11:20:25 -07:00
wldfngrs
573545c712 [libc][math][c23] Add atanf16() function (#141612)
- Implementation of atan (tan inverse) function for 16-bit inputs.
- Exhaustive tests across the 16-bit input range
2025-06-01 13:36:16 +02:00
sribee8
339851e140 [libc][obvious] Fixed wchar.yaml (#142238)
Changed __restricted to __restrict for wmemcpy.

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-05-30 16:41:11 -07:00
sribee8
226d06ba43 [libc] wmemcpy implementation (#142070)
Implemented wmemcpy and tests for the function.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-05-30 14:23:18 -07:00
Uzair Nawaz
d721d4e280 [libc] Implemented wcspbrk (#142040)
Implemented wcspbrk and added tests
2025-05-30 14:12:22 -07:00
sribee8
d4791f56f3 [libc] wcsspn implementation (#142034)
Implemented wcsspn as well as tests for the function.

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-05-30 12:52:43 -07:00
sribee8
a8c6a5017d [libc] wmemcmp implementation (#141880)
Implemented wmemcmp as well as tests for the function.

Fixes Issue #141857

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-05-29 13:34:23 -07:00
Uzair Nawaz
6cf53da79d [libc] Implemented wmemset and added tests (#141691)
Implemented and tests the wmemset function in libc.
2025-05-29 10:31:49 -07:00