<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/libc/test/src/fenv, branch users/nico/python-2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[libc] Add osutils for Windows and make libc and its tests build on Windows target (#104676)</title>
<updated>2024-09-12T03:41:32+00:00</updated>
<author>
<name>Sirui Mu</name>
<email>msrlancern@gmail.com</email>
</author>
<published>2024-09-12T03:41:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ded080152acceca5d68014d63f5027a6d8266cbb'/>
<id>ded080152acceca5d68014d63f5027a6d8266cbb</id>
<content type='text'>
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`</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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`</pre>
</div>
</content>
</entry>
<entry>
<title>[libc][test] Fix TEST-&gt;TEST_F typo in getenv_and_setenv_test.cpp (#94304)</title>
<updated>2024-06-04T02:48:33+00:00</updated>
<author>
<name>Jordan Rupprecht</name>
<email>rupprecht@google.com</email>
</author>
<published>2024-06-04T02:48:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=392ca64893dc77f823cb4734238f1ba1d271b997'/>
<id>392ca64893dc77f823cb4734238f1ba1d271b997</id>
<content type='text'>
This manifests as `AddressSanitizer: stack-use-after-return` w/o this
change. The `~CheckFEnv()` method of checking fenv seems to only work
for test fixtures.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This manifests as `AddressSanitizer: stack-use-after-return` w/o this
change. The `~CheckFEnv()` method of checking fenv seems to only work
for test fixtures.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Make fenv and math tests preserve fenv_t state (#89658)</title>
<updated>2024-04-23T20:21:25+00:00</updated>
<author>
<name>Roland McGrath</name>
<email>mcgrathr@google.com</email>
</author>
<published>2024-04-23T20:21:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=837dab96d6f5bece79fd58d28ea2e6f7c0912493'/>
<id>837dab96d6f5bece79fd58d28ea2e6f7c0912493</id>
<content type='text'>
This adds a new test fixture class FEnvSafeTest (usable as a base
class for other fixtures) that ensures each test doesn't perturb
the `fenv_t` state that the next test will start with.  It also
provides types and methods tests can use to explicitly wrap code
under test either to check that it doesn't perturb the state or
to save and restore the state around particular test code.

All the fenv and math tests are updated to use this so that none
can affect another.  Expectations that code under test and/or
tests themselves don't perturb state can be added later.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds a new test fixture class FEnvSafeTest (usable as a base
class for other fixtures) that ensures each test doesn't perturb
the `fenv_t` state that the next test will start with.  It also
provides types and methods tests can use to explicitly wrap code
under test either to check that it doesn't perturb the state or
to save and restore the state around particular test code.

All the fenv and math tests are updated to use this so that none
can affect another.  Expectations that code under test and/or
tests themselves don't perturb state can be added later.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc][c23][fenv] Implement fetestexceptflag (#87828)</title>
<updated>2024-04-17T15:38:47+00:00</updated>
<author>
<name>Robin Caloudis</name>
<email>robin.caloudis@gmx.de</email>
</author>
<published>2024-04-17T15:38:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b854a2323337be2633b1135f590678a17e9d1ade'/>
<id>b854a2323337be2633b1135f590678a17e9d1ade</id>
<content type='text'>
Provide C23 `fetestexceptflag` function according to 7.6.4.6 in the
latest [revision of the C
standard](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf)
from 2023-04-02.

Closes https://github.com/llvm/llvm-project/issues/87565.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Provide C23 `fetestexceptflag` function according to 7.6.4.6 in the
latest [revision of the C
standard](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf)
from 2023-04-02.

Closes https://github.com/llvm/llvm-project/issues/87565.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Add proxy headers for fenv types. (#88467)</title>
<updated>2024-04-15T18:45:16+00:00</updated>
<author>
<name>Job Henandez Lara</name>
<email>hj93@protonmail.com</email>
</author>
<published>2024-04-15T18:45:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=75bbf4dd7cfda744d4a2487cfd06a58194d02db3'/>
<id>75bbf4dd7cfda744d4a2487cfd06a58194d02db3</id>
<content type='text'>
Fixes #88187
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #88187
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Add proxy header for fenv.h macro constants. #87863 (#87896)</title>
<updated>2024-04-09T16:55:10+00:00</updated>
<author>
<name>Job Henandez Lara</name>
<email>hj93@protonmail.com</email>
</author>
<published>2024-04-09T16:55:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=49561181bdc8698aa28ee2a46d2faa4cf6767bbe'/>
<id>49561181bdc8698aa28ee2a46d2faa4cf6767bbe</id>
<content type='text'>
Hello, this addresses #87863.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Hello, this addresses #87863.</pre>
</div>
</content>
</entry>
<entry>
<title> [libc][c23][fenv] implement fesetexcept  (#87603)</title>
<updated>2024-04-05T20:52:57+00:00</updated>
<author>
<name>aniplcc</name>
<email>aniplccode@gmail.com</email>
</author>
<published>2024-04-05T20:52:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8ee6ab7f69ca9c34eed56faad3971d075dc47121'/>
<id>8ee6ab7f69ca9c34eed56faad3971d075dc47121</id>
<content type='text'>
Closes #87564
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #87564
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc][NFC] Remove all trailing spaces from libc (#82831)</title>
<updated>2024-02-23T22:34:00+00:00</updated>
<author>
<name>Joseph Huber</name>
<email>huberjn@outlook.com</email>
</author>
<published>2024-02-23T22:34:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=69c0b2febe01108f50db6e8ed21cd8b2e6088caf'/>
<id>69c0b2febe01108f50db6e8ed21cd8b2e6088caf</id>
<content type='text'>
Summary:
There are a lot of random training spaces on various lines. This patch
just got rid of all of them with `sed 's/\ \+$//g'.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
There are a lot of random training spaces on various lines. This patch
just got rid of all of them with `sed 's/\ \+$//g'.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Start to refactor riscv platform abstraction to support both 32 and 64 bits versions</title>
<updated>2023-09-26T15:32:25+00:00</updated>
<author>
<name>Mikhail R. Gadelha</name>
<email>mikhail@igalia.com</email>
</author>
<published>2023-05-01T15:39:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e3087c4b8cee20094c1a72b94b0a7f5f543cf37d'/>
<id>e3087c4b8cee20094c1a72b94b0a7f5f543cf37d</id>
<content type='text'>
This patch enables the compilation of libc for rv32 by unifying the
current rv64 and rv32 implementation into a single rv implementation.

We updated the cmake file to match the new riscv32 arch and force
LIBC_TARGET_ARCHITECTURE to be "riscv" whenever we find "riscv32" or
"riscv64". This is required as LIBC_TARGET_ARCHITECTURE is used in the
path for several platform specific implementations.

Reviewed By: michaelrj

Differential Revision: https://reviews.llvm.org/D148797
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch enables the compilation of libc for rv32 by unifying the
current rv64 and rv32 implementation into a single rv implementation.

We updated the cmake file to match the new riscv32 arch and force
LIBC_TARGET_ARCHITECTURE to be "riscv" whenever we find "riscv32" or
"riscv64". This is required as LIBC_TARGET_ARCHITECTURE is used in the
path for several platform specific implementations.

Reviewed By: michaelrj

Differential Revision: https://reviews.llvm.org/D148797
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Mass replace enclosing namespace (#67032)</title>
<updated>2023-09-26T09:45:04+00:00</updated>
<author>
<name>Guillaume Chatelet</name>
<email>gchatelet@google.com</email>
</author>
<published>2023-09-26T09:45:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b6bc9d72f65a5086f310f321e969d96e9a559e75'/>
<id>b6bc9d72f65a5086f310f321e969d96e9a559e75</id>
<content type='text'>
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</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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</pre>
</div>
</content>
</entry>
</feed>
