History log of /llvm-project/libc/test/src/__support/FPUtil/fpbits_test.cpp (Results 1 – 25 of 45)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4
# 6aa74038 12-Nov-2024 Michael Jones <michaelrj@google.com>

[libc] Fix fpbits test running 80bit ld everywhere (#115937)

After #115084 the 80 bit long double tests error if sizeof(long double)
isn't 96 or 128 bits. This caused failures in long double is dou

[libc] Fix fpbits test running 80bit ld everywhere (#115937)

After #115084 the 80 bit long double tests error if sizeof(long double)
isn't 96 or 128 bits. This caused failures in long double is double
systems (since long double is 64 bits) so I've disabled the 80 bit long
double tests on systems that don't use them.

show more ...


# 7302c8db 12-Nov-2024 Nick Desaulniers <nickdesaulniers@users.noreply.github.com>

[libc][i386] FPBit support for 96b long double (#115084)

`long double` is haunted on most architectures, but it is especially so on
i386-linux-gnu. While have 80b of significant data, on i386-linux-

[libc][i386] FPBit support for 96b long double (#115084)

`long double` is haunted on most architectures, but it is especially so on
i386-linux-gnu. While have 80b of significant data, on i386-linux-gnu this type
has 96b of storage.

Fixes for supporting printf family of conversions for `long double` on
i386-linux-gnu. This allows the libc-stdlib-tests and libc_stdio_unittests
ninja target tests to pass on i386-linux-gnu.

Fixes: #110894
Link: #93709
Co-authored-by: Michael Jones <michaelrj@google.com>

show more ...


Revision tags: llvmorg-19.1.3, llvmorg-19.1.2
# f6b2a222 01-Oct-2024 Michael Jones <michaelrj@google.com>

[libc] Move struct Sign into LIBC_NAMESPACE (#110709)

The struct Sign should be in the correct namespace. Also update the
various tests that use it.


Revision tags: llvmorg-19.1.1, llvmorg-19.1.0
# ded08015 12-Sep-2024 Sirui Mu <msrlancern@gmail.com>

[libc] Add osutils for Windows and make libc and its tests build on Windows target (#104676)

This PR first adds osutils for Windows, and changes some libc code to
make libc and its tests build on t

[libc] Add osutils for Windows and make libc and its tests build on Windows target (#104676)

This PR first adds osutils for Windows, and changes some libc code to
make libc and its tests build on the Windows target. It then temporarily
disables some libc tests that are currently problematic on Windows.

Specifically, the changes besides the addition of osutils include:

- Macro `LIBC_TYPES_HAS_FLOAT16` is disabled on Windows. `clang-cl`
generates calls to functions in `compiler-rt` to handle float16
arithmetic and these functions are currently not linked in on Windows.
- Macro `LIBC_TYPES_HAS_INT128` is disabled on Windows.
- The invocation to `::aligned_malloc` is changed to an invocation to
`::_aligned_malloc`.
- The following unit tests are temporarily disabled because they
currently fail on Windows:
- `test.src.__support.big_int_test`
- `test.src.__support.arg_list_test`
- `test.src.fenv.getenv_and_setenv_test`
- Tests involving `__m128i`, `__m256i`, and `__m512i` in
`test.src.string.memory_utils.op_tests.cpp`
- `test_range_errors` in `libc/test/src/math/smoke/AddTest.h` and
`libc/test/src/math/smoke/SubTest.h`

show more ...


Revision tags: llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init
# 88f0dc48 15-Jul-2024 OverMighty <its.overmighty@gmail.com>

[libc] Fix warnings emitted by GCC (#98751)

Fixes #98709.


Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3
# 2137894a 20-Mar-2024 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Move `Sign` type to separate header (#85930)


Revision tags: llvmorg-18.1.2
# 033dbbe4 10-Mar-2024 Joseph Huber <huberjn@outlook.com>

[libc][NFC] Clean up stray ';' and default enum warning

Summary:
Cleans up two warnings I get locally while building.


Revision tags: llvmorg-18.1.1
# 245d669f 07-Mar-2024 Guillaume Chatelet <gchatelet@google.com>

[reland][libc] Remove UB specializations of type traits for `BigInt` (#84299)

Note: This is a reland of #84035.

The standard specifies that it it UB to specialize the following traits:
- `std::

[reland][libc] Remove UB specializations of type traits for `BigInt` (#84299)

Note: This is a reland of #84035.

The standard specifies that it it UB to specialize the following traits:
- `std::is_integral`
- `std::is_unsigned`
- `std::make_unsigned`
- `std::make_signed`

This patch:
- Removes specializations for `BigInt`
- Transforms SFINAE for `bit.h` functions from template parameter to
return type (This makes specialization easier).
- Adds `BigInt` specialization for `bit.h` functions.
- Fixes code depending on previous specializations.

show more ...


# f7d4236a 04-Mar-2024 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Rename `LIBC_LONG_DOUBLE_IS_` macros (#83399)

Umbrella bug #83182


# 75fb825b 29-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Rename `LIBC_COMPILER_HAS_FLOAT128` to `LIBC_TYPES_HAS_FLOAT128` (#83395)

Umbrella bug #83182


Revision tags: llvmorg-18.1.0, llvmorg-18.1.0-rc4
# 5b079af1 22-Feb-2024 Michael Jones <71531609+michaelrj-google@users.noreply.github.com>

[libc] add FXBits class (#82065)

The FXBits class is what will be used to modify fixed point numbers on a
bit level. This patch adds a basic implementation as well as basic
tests.


Revision tags: llvmorg-18.1.0-rc3
# a80a01fc 16-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants (#81998)

- #81835
- Fix for platforms where uint64_t is not available


# a1d4c693 15-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

Revert "[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants" (#81882)

Reverts llvm/llvm-project#81835
This is breaking arm32 which does not support 64 bit types.


# 513e4dc1 15-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants (#81835)

This is a reland of #81746


# 78d401b0 14-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

Revert "[libc][NFC] Use user defined literals to build 128 and 256 bit constants." (#81771)

Reverts llvm/llvm-project#81746


# 411554a3 14-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Use user defined literals to build 128 and 256 bit constants. (#81746)


# 03232350 14-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

[libc] Add user defined literals to initialize `BigInt` and `__uint128_t` constants (#81267)

Adds user defined literal to construct unsigned integer constants. This
is useful when constructing cons

[libc] Add user defined literals to initialize `BigInt` and `__uint128_t` constants (#81267)

Adds user defined literal to construct unsigned integer constants. This
is useful when constructing constants for non native C++ types like
`__uint128_t` or our custom `BigInt` type.

show more ...


# e973ab15 09-Feb-2024 lntue <35648136+lntue@users.noreply.github.com>

[libc][NFC] Fix few warnings in tests. (#81262)

```
/usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/src/__support/FPUtil/fpbits_test.cpp:268:2: warning: extra ';' outside of a f

[libc][NFC] Fix few warnings in tests. (#81262)

```
/usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/src/__support/FPUtil/fpbits_test.cpp:268:2: warning: extra ';' outside of a function is incompatible with C++98 [-Wc++98-compat-extra-semi]
};
^
1 warning generated.
```

```
In file included from /usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/src/sys/socket/linux/bind_test.cpp:17:
/usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/UnitTest/Test.h:17:9: warning: 'libc_make_test_file_path' macro redefined [-Wmacro-redefined]
#define libc_make_test_file_path(file_name) (file_name)
^
/usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/UnitTest/LibcTest.h:20:9: note: previous definition is here
#define libc_make_test_file_path(file_name) \
^
1 warning generated.
```

show more ...


Revision tags: llvmorg-18.1.0-rc2
# b05ba231 05-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

[libc] Add `next_toward_inf` fo `FPBits` (#80654)

It is needed to provide correct rounding when building FPRep from
greater precision representations.


# 25ab2fc0 05-Feb-2024 Guillaume Chatelet <gchatelet@google.com>

[libc][NFC] Make FPRep more testable (#80453)


# ace383df 30-Jan-2024 Guillaume Chatelet <gchatelet@google.com>

[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


# fd3edd45 30-Jan-2024 Guillaume Chatelet <gchatelet@google.com>

[libc] Add test to check all properties for all FPBit types. (#79851)

This test is platform agnostic, it runs all tests on all architectures.


Revision tags: llvmorg-18.1.0-rc1
# eb56bc2b 29-Jan-2024 Guillaume Chatelet <gchatelet@google.com>

[libc] Remove specific nan payload in math functions (#79165)


Revision tags: llvmorg-19-init
# dffa8039 23-Jan-2024 Guillaume Chatelet <gchatelet@google.com>

[libc] Remove specific nan payload in math functions (#79133)


# 6b02d2f8 23-Jan-2024 Guillaume Chatelet <gchatelet@google.com>

[reland][libc] Remove unnecessary `FPBits` functions and properties (#79128)

- reland #79113
- Fix aarch64 RISC-V build


12