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
|