4347 Commits

Author SHA1 Message Date
William Huynh
0425a5df4d [libc] Add hooks for extra options in running hermetic tests (#147931)
Part of #145349. These hooks are required downstream in order to run
hermetic tests. See https://github.com/arm/arm-toolchain/pull/420 for
more context on how this PR will be used.
2025-07-15 11:43:51 +01:00
Connector Switch
91b3dbe273 [libc] Update some implementation status for search.h (#148414)
- `VISIT` was implemented in
https://github.com/llvm/llvm-project/pull/132746.
- `lsearch` was implemented in
https://github.com/llvm/llvm-project/pull/131431.

At first, I thought this would be updated automatically, but it seems
that the header status needs to be added manually.
2025-07-15 10:34:30 +08:00
Uzair Nawaz
56a4f8d8c1 [libc] Wchar Stringconverter (#146388)
Implemented a string converter class to encapsulate the logic of
converting between utf8 <-> utf32
2025-07-14 15:45:46 -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
lntue
f4630baaa2 Revert "[libc][math] Refactor exp implementation to header-only in src/__support/math folder." (#148668)
Reverts llvm/llvm-project#148091
Full build bots are failing.
2025-07-14 12:46:26 -04:00
sribee8
1f97c9432d [libc] exp fuzz tests (#148086)
Created fuzz tests for exp functions

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-07-14 16:36:24 +00:00
Muhammad Bassiouni
a76dfde936 [libc][math] Refactor exp implementation to header-only in src/__support/math folder. (#148091)
Part of #147386

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
2025-07-14 12:21:27 -04:00
Muhammad Bassiouni
cfcda5d0ff [libc][math] Refactor ldexpf implementation to header-only in src/__support/math folder (#147906)
Part of #147386

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450

Please merge #147901 first

@lntue
2025-07-14 11:35:53 -04:00
Muhammad Bassiouni
074218dd10 [libc][math] Refactor ldexpf16 implementation to header-only in src/__support/math folder. (#147901)
Part of #147386

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450

Please merge #147895 first
2025-07-14 11:00:01 -04:00
Muhammad Bassiouni
0ad2574de7 [libc][math] Refactor ldexpf128 implementation to header-only in src/__support/math folder. (#147895)
Part of #147386

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
2025-07-14 10:10:49 -04:00
Amy Huang
bc2cc8b56e Change binary path in libc test cmake file from relative to absolute (#148315)
For some reason cmake usually turns this path into an absolute path, but
sometimes
it doesn't do it and stays as a relative path, which means the command
will fail.
Specify it as an absolute path always so this doesn't happen any more.
2025-07-12 14:43:52 -07:00
Petr Hosek
bce3cbc74e [libc] Baremetal version of clock (#146417)
This is analogous to the baremetal version of timespec_get using the
__llvm_libc_timespec_get_active embedding interface.
2025-07-12 10:26:51 -07:00
Connector Switch
490e500904 [libc][NFC] Revise file header for tanf exhaustive test. (#148348) 2025-07-13 01:05:23 +08:00
Muhammad Bassiouni
d06e9ce1dd [libc][math] Refactor frexpf implementation to header-only in src/__support/math folder. (#147893)
Part of #147386

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
2025-07-12 11:08:58 -04:00
Muhammad Bassiouni
395643e60b [libc][math] Refactor frexpf16 implementation to header-only in src/__support/math folder. (#147889)
Part of #147386

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
2025-07-12 00:48:01 -04: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
Muhammad Bassiouni
d02c85a29b [libc] Fix frexpf128 build failure. (#148332) 2025-07-11 23:55:09 -04:00
Muhammad Bassiouni
af6500d14c [libc][math] Refactor frexpf128 implementation to header-only in src/… (#147822)
Part of #147386 

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
2025-07-11 22:59:09 -04: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
Muhammad Bassiouni
c25a5e08ba [libc][math] Refactor expf16 implementation to header-only in src/__support/math folder. (#147428)
Part of #147386

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
2025-07-10 22:21:48 -04:00
Uzair Nawaz
88ba06d6fc [libc] Addressed todo to make first_non_whitespace to return an idx instead of ptr (#148004)
Addressed todo to make first_non_whitespace to return an idx instead of
ptr
2025-07-10 13:55:14 -07:00
Uzair Nawaz
d93cc7aabf [libc] WCS to integer internal function (#147857)
Duplicated str_to_integer.h and modified it to work with widechars.
A future patch will implement the public functions (wcstol, wcstoll,
etc) by calling this internal function.
2025-07-10 10:22:39 -07:00
sribee8
425ed22b2e [libc] asin fuzz testing (#147786)
Added fuzz test for asin

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-07-10 16:28:57 +00:00
sribee8
a9d8843d71 [libc] Fuzz tests for acos and atan (#147843)
created fuzz tests for acos and atan

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-07-10 16:28:29 +00:00
sribee8
81614e5b90 [libc] sincos fuzz test (#147855)
Created fuzz test for sincos

---------

Co-authored-by: Sriya Pratipati <sriyap@google.com>
2025-07-10 16:26:26 +00:00