16 Commits

Author SHA1 Message Date
Guillaume Chatelet
f7d4236adf
[libc][NFC] Rename LIBC_LONG_DOUBLE_IS_ macros (#83399)
Umbrella bug #83182
2024-03-04 11:17:36 +01:00
Guillaume Chatelet
ace383df52
[libc][NFC] Rename FPBits nan functions (#79998)
- [libc][NFC] Rename FPBits nan functions
- rename build_signaling_nan in signaling_nan
- rename build_quiet_nan to quiet_nan
2024-01-30 15:01:27 +01:00
Guillaume Chatelet
eb56bc2b10
[libc] Remove specific nan payload in math functions (#79165) 2024-01-29 15:28:46 +01:00
Guillaume Chatelet
6b02d2f863
[reland][libc] Remove unnecessary FPBits functions and properties (#79128)
- reland #79113
- Fix aarch64 RISC-V build
2024-01-23 13:48:03 +01:00
Guillaume Chatelet
b524eed925
Revert "[libc] Remove unnecessary FPBits functions and properties" (#79118)
Reverts llvm/llvm-project#79113
It broke aarch64 build bot machines.
2024-01-23 11:51:18 +01:00
Guillaume Chatelet
3bc86bf3bf
[libc] Remove unnecessary FPBits functions and properties (#79113)
This patch reduces the surface of `FPBits`.
2024-01-23 11:48:28 +01:00
Guillaume Chatelet
808b7d2203
[libc][NFC] rename LONG_DOUBLE_IS_DOUBLE into LIBC_LONG_DOUBLE_IS_FLOAT64 (#73948) 2023-12-01 13:55:31 +01:00
Guillaume Chatelet
d924c5d721
[libc][NFC] Sink "PlatformDefs.h" into "FloatProperties.h" (#73226)
`PlatformDefs.h` does not bring a lot of value as a separate file.
It is transitively included in `FloatProperties.h` and `FPBits.h`. This
patch sinks it into `FloatProperties.h` and removes the associated build
targets.
2023-11-23 11:23:18 +01:00
lntue
d2361b2048
[libc][math] Add min/max/min_denorm/max_denorm constants to FPBits and clean up its constants return types. (#71298) 2023-11-06 18:22:34 -05:00
Guillaume Chatelet
b6bc9d72f6
[libc] Mass replace enclosing namespace (#67032)
This is step 4 of
https://discourse.llvm.org/t/rfc-customizable-namespace-to-allow-testing-the-libc-when-the-system-libc-is-also-llvms-libc/73079
2023-09-26 11:45:04 +02:00
Siva Chandra Reddy
af1315c28f [libc][NFC] Move UnitTest and IntegrationTest to the 'test' directory.
This part of the effort to make all test related pieces into the `test`
directory. This helps is excluding test related pieces in a straight
forward manner if LLVM_INCLUDE_TESTS is OFF. Future patches will also move
the MPFR wrapper and testutils into the 'test' directory.
2023-02-07 19:45:51 +00:00
Michael Jones
edf964e0dd [libc] add scanf pointer conversion
This patch adds the last conversion for scanf, %p. It is set up to match
the %p implementation in our printf.

Reviewed By: sivachandra, lntue

Differential Revision: https://reviews.llvm.org/D142510
2023-01-25 15:29:25 -08:00
Michael Jones
afa764c9a6 [libc] add scanf current position conversion
To add the current position (%n) conversion, some reorganization needed
to be done. The "write a number to this pointer using the length
modifier" utilities and a couple other shared parsing functions have
been moved into converter_utils.h. This made implementing
current_pos_converter very simple.

Reviewed By: lntue

Differential Revision: https://reviews.llvm.org/D142495
2023-01-25 15:29:22 -08:00
Michael Jones
9a32e53941 [libc] add scanf float converter
This patch adds the %f/F/e/E/g/G/a/A conversions for scanf, as well as
accompanying tests. This implementation matches the definition set forth
in the standard, which may conflict with some other implementations.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D141091
2023-01-19 09:26:25 -08:00
Michael Jones
65f4cc6310 [libc] add scanf int conversions
This patch adds the integer conversions %d/i/u/o/x/X to scanf as well as
unit tests to check their correctness.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D138880
2022-12-13 12:51:29 -08:00
Michael Jones
36991d8342 [libc] add scanf entrypoints
This patch adds scanf, sscanf, and fscanf entrypoints. It also adds unit
tests for sscanf and a basic test to fscanf. The scanf function is
basically impossible to test in an automated fashion due to it recieving
user input.

Reviewed By: sivachandra, lntue

Differential Revision: https://reviews.llvm.org/D138076
2022-11-17 15:37:52 -08:00