Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 3472c1f6c5f15cb5047171d5a70ef37eccb023ab https://github.com/Perl/perl5/commit/3472c1f6c5f15cb5047171d5a70ef37eccb023ab Author: Tony Cook <t...@develop-help.com> Date: 2021-03-30 (Tue, 30 Mar 2021)
Changed paths: M ext/XS-APItest/APItest.pm M ext/XS-APItest/APItest.xs M ext/XS-APItest/t/printf.t M sv.c Log Message: ----------- quadmath: handle long doubles supplied via va_args in sv_vcatpvfn_flags() All of perl's printf() style processing meets up in sv_vcatpvfn_flags() which had three problems when dealing with long double parameters. 1) both the long double (L and q) and __float128 flags (Q) were converted to the internal long double flag 2) the internal long double flag was then always treated as a __float128 parameter. 3) the non-Q format string was then passed to my_snprintf(), which throws an exception on non-Q floating point formats, which meant that C/XS code printing doubles or long doubles in a quadmath built would throw an exception.