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
NV_PAYLOAD_SIZEOF_ASSERT fails on PPC darwin #15481
Comments
From @cpansproutmake test output includes: ext/POSIX/t/math ............................................... Assertion failed: (sizeof(m) == NVSIZE / 2), function S_setpayload, file POSIX.xs, line 1169. Line 1169 of ext/POSIX/POSIX.xs is: NV_PAYLOAD_SIZEOF_ASSERT(m); That macro is defined as: #ifdef LONGDOUBLE_DOUBLEDOUBLE so apparently LONGDOUBLE_DOUBLEDOUBLE must be defined. m is declared as: static const U8 m[] = { NV_NAN_PAYLOAD_MASK }; $ ./perl -Ilib Porting/expand-macro.pl NV_NAN_PAYLOAD_MASK $ ./perl -Ilib -V Summary of my perl5 (revision 5 version 25 subversion 4) configuration: Characteristics of this binary (from libperl): Is that enough information? -- Father Chrysostomos |
From @jhiTry this: Inline Patchdiff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs
index 3820026..a950af3 100644
--- a/ext/POSIX/POSIX.xs
+++ b/ext/POSIX/POSIX.xs
@@ -1153,7 +1153,7 @@ static NV my_trunc(NV x)
# define NV_PAYLOAD_TYPE NV
#endif
-#ifdef LONGDOUBLE_DOUBLEDOUBLE
+#if defined(USE_LONG_DOUBLE) && defined(LONGDOUBLE_DOUBLEDOUBLE)
# define NV_PAYLOAD_SIZEOF_ASSERT(a) assert(sizeof(a) == NVSIZE / 2)
#else
# define NV_PAYLOAD_SIZEOF_ASSERT(a) assert(sizeof(a) == NVSIZE) |
The RT System itself - Status changed from 'new' to 'open' |
From @cpansproutOn Thu Jul 28 05:23:59 2016, jhi wrote:
Worms like a shark! Erm, works like a charm, or whatever. Thank you. I have applied it as d80a605. I get the same failure with a debugging 5.24.0 on that machine. I think the patch should be backported to maint. -- Father Chrysostomos |
@cpansprout - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#128763 (status was 'resolved')
Searchable as RT128763$
The text was updated successfully, but these errors were encountered: