Skip to content
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

Enable USE_QUADMATH builds on Windows #18465

Merged
merged 6 commits into from Jan 11, 2021
Merged

Enable USE_QUADMATH builds on Windows #18465

merged 6 commits into from Jan 11, 2021

Conversation

sisyphus
Copy link
Contributor

This PR enables building of perl with USE_QUADMATH on MS Windows using (32-bit and 64-bit) mingw-w64 ports of gcc.

Unforunately, having it smoked is probably not going to prove much, and the same can be said of the CI testing that I expect this PR to initiate.
AFAIK there are currently no smokers set up to attempt a USE_QUADMATH build on Windows - the best that can be shown by smoking it is that these changes haven't broken pre-existing functionality.
I've run extensive testing locally which has established (to my satisfaction, at least) that no such "pre-existing functionality" has been altered.
Furthermore, that same extensive testing has shown that the USE_QUADMATH builds themselves are fine.

With both 'gmake' and 'dmake', I have built (with the files contained in this PR) the following configurations of perl:

MSWin32-x86-multi-thread
MSWin32-x86-multi-thread-ld
MSWin32-x86-multi-thread-quadmath
MSWin32-x86-multi-thread-64int
MSWin32-x86-multi-thread-64int-ld
MSWin32-x86-multi-thread-64int-quadmath

MSWin32-x64-multi-thread
MSWin32-x64-multi-thread-ld
MSWin32-x64-multi-thread-quadmath

For each of those (9 x 2 == 18) builds I ran (n|g)make, (n|g)make test, (n|g)make install, and (n|g)make distclean.

Everything was fine, except for the following caveat that applies only to the "MSWin32-x86-multi-thread-quadmath" configuration:
For this build (with both 'gmake' and 'dmake'), I get some Math::BigInt/BigFloat test failures. Those test failures are identical for both flavours of make.
I don't think this should be considered to be a blocker.
Firstly, it's not breaking any existing builds.
Secondly, this configuration has ivsize=4 and nvtype of __float128, which is a very rare configuration. (I doubt that there are any smokers for any system that test such a configuration. Right ?)
I don't see it as a configuration that will be highly favoured. (Far more likely that a selection of ivsize==8 will be desired when nvtype is set to __float128.)
Of course, I'll investigate this strange issue anyway - with an aim to fixing it with a separate PR, after this one has been merged into blead.

Cheers,
Rob

@khwilliamson khwilliamson merged commit ebc271e into Perl:blead Jan 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants