-
Notifications
You must be signed in to change notification settings - Fork 589
only #include <xlocale.h> when it is actually needed #18936
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
Yeah, xlocale can make that glibc upgrade quite a pain, this sounds like a welcome improvement |
I tried out this branch on FreeBSD-12 with my usual configuration. I got many locale-related test failures.
|
... in each of the 4 failing test files. |
What did you see in config.sh for |
|
Thanks, I've reproduced this and have some idea of what's going on. |
I tested your branch at v5.35.1-31-ged003c1a0d and all tests PASSED. The specifics of your changes to the C code are above my pay grade, so I hope other people will comment on them. I recommend you create a smoke-me branch out of this so that we can get results from more platforms. Thank you very much. |
This header was originally only needed for builds on darwin and FreeBSD, but was being included whenever it was detected. This has caused problems when what was an internal header was removed (from glibc) and in general wasn't needed anyway. On FreeBSD only localeconv_l() requires xlocale.h, so we test specifically for that.
ed003c1
to
fcaf0ac
Compare
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.
LGTM; needs to be sent to metaconfig
Results on the smoke-me branch are good. No failures attributable to these changes. |
If you guys are satified, just merge it, I'll backport |
@tonycoz, can you do the honors on this? |
Backported to metaconfig (Perl/metaconfig@c7bd0d2855d404) and then regenerated back to CORE |
This header was originally only needed for builds on darwin, but
was being included whenever it was detected.
This has caused problems when what was an internal header was
removed (from glibc) and in general wasn't needed anyway.
cygwin also hint it away