summaryrefslogtreecommitdiff
path: root/libc/test/src/fenv/exception_flags_test.cpp
AgeCommit message (Collapse)Author
2024-04-23[libc] Make fenv and math tests preserve fenv_t state (#89658)Roland McGrath
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.
2024-04-17[libc][c23][fenv] Implement fetestexceptflag (#87828)Robin Caloudis
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.
2024-04-15[libc] Add proxy headers for fenv types. (#88467)Job Henandez Lara
Fixes #88187
2023-09-26[libc] Mass replace enclosing namespace (#67032)Guillaume Chatelet
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-02-07[libc][NFC] Move UnitTest and IntegrationTest to the 'test' directory.Siva Chandra Reddy
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.
2022-03-04[libc] Remove the redundant header FPUtil/FEnvUtils.hTue Ly
Remove the redundant header FPUtil/FEnvUtils.h, use FPUtil/FEnvImpl.h header instead. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D120965
2021-12-07[libc] apply new lint rulesMichael Jones
This patch applies the lint rules described in the previous patch. There was also a significant amount of effort put into manually fixing things, since all of the templated functions, or structs defined in /spec, were not updated and had to be handled manually. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D114302
2021-08-06[libc][nfc] move ctype_utils and FPUtils to __supportMichael Jones
Some ctype functions are called from other libc functions (e.g. isspace is used in atoi). By moving ctype_utils.h to __support it becomes easier to include just the implementations of these functions. For these reasons the implementation for isspace was moved into ctype_utils as well. FPUtils was moved to simplify the build order, and to clarify which files are a part of the actual libc. Many files were modified to accomodate these changes, mostly changing the #include paths. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D107600
2021-07-22[libc] Rename FEnv.h and refactor subsequent filesHedin Garca
Because Windows's pathnames are not case sensitive, to avoid include conflicts between our header file FEnv.h and the one from the C Standard library, <fenv.h>, the prior file was renamed. The motive for the relabel came to fix this include error in TestHelpers.cpp since a conflict arose with a file in the same directory when #include <fenv.h> was being used. Reviewed By: sivachandra, aeubanks Differential Revision: https://reviews.llvm.org/D106470
2021-06-30[libc][NFC] Clear all exceptions in exception_flags_test before raising another.Siva Chandra
This is because, raising some exceptions can raise other ones. For example, raising FE_OVERFLOW can raise FE_INEXACT. So, we need to clear all exceptions if we want a clean slate.
2021-06-30[libc] Clear all exceptions before setting in fesetexceptflag.Siva Chandra Reddy
Previously, exceptions from the flag were being added. This patch changes it such that only the exceptions in the flag will be set. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D105085
2021-02-18[libc] Add implementations of the remaining fenv functions.Siva Chandra Reddy
Namely, implementations of fegetexceptfflag, fesetexceptflag, fegetenv, fesetenv, feholdexcept and feupdateenv have been added. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D96935