-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[libc][math][c23] Implement canonicalize functions #85940
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@lntue, creating this to confirm whether or not this is moving in the right direction. I am little confused in the implementation of the long double type. I will add tests once you confirm about the implementation of others. As you said :
So I figured that they are already in canonical format and so I just need to assign *x to *cx. |
Some drive-by comments:
|
Thanks @jcranmer-intel ! I totally forgot to include error handling section F.10.8.7 (N3096) of canonicalize functions to the issue's description. About the PPC long double, we will skip it for now and focusing on x86-64, arm, and riscv, which we have the hardware to test directly. Hopefully, someone with PPC knowledge and hardware could help us to fill it in later. |
✅ With the latest revision this PR passed the C/C++ code formatter. |
a18474a
to
3c9a012
Compare
Bug fixes Ran formatter Updated tests Ran formatter bug fix Bug fixes Minor bug fixes Bug Fixes Add namespace Bug Fix Changed namespace Minor changes Experimenting revert changed type Update tests Added types Update BasicOperations.h Bug Fix Formatter minor changes pushing all tests Formatting revert Bug fix Minor changes changes Formatter Testing changes Added a test Ran formatter Minor push formatter fix Typo Removed bit 61 revamp testing TEst 4 changes added type Formatter Test Bug fix Bug fix Fixed bug Formatter nits nits info RE s s s s TEst TEst Added test 5 F minor changes nits nits bit62 fix testing revert nots fix nits Format fix F test test Buf Fix
Ah I got what was causing the error in the tests. Fixed them. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the patch!
This breaks the arm32 build in postsubmit, PTAL.
|
I wonder why UInt::operator bool is marked explicit? Implicit conversions to bool sure are nice. |
I can provide a patch but I don't have context. Can start working on it once you provide some pointers. |
The canonicalize test added in llvm#85940 defined the LIBC_NAMESPACE macro. this macro is intended to be set only by the build system and never in the code.
Since the issue is that the implicit conversion to bool is failing, the easiest solution is likely to add a |
The canonicalize test added in #85940 defined the LIBC_NAMESPACE macro. this macro is intended to be set only by the build system and never in the code.
The arm32 buildbot reports an error because UInt::operator bool() is explicit, thus an explicit cast is necessary. Link: llvm#85940
Cant leave the buildbots red for long: #86736 |
Ah sorry for the delay. My OS crashed and I saw the dreaded white death screen. Had to set up my system from scratch. Thanks for the patch @nickdesaulniers. |
The arm32 buildbot reports an error because UInt::operator bool() is explicit, thus an explicit cast is necessary. Link: #85940
Fixes: #85286