develooper Front page | perl.perl5.porters | Postings from January 2020

Re: Merging smoke-me/test_hv_macro

Thread Previous | Thread Next
From:
demerphq
Date:
January 24, 2020 14:33
Subject:
Re: Merging smoke-me/test_hv_macro
Message ID:
CANgJU+Vku3-DZidWsz-x67UFaK4NAr5vhg_DRjGYQdOU7-_+tQ@mail.gmail.com
On Fri, 24 Jan 2020, 22:14 James E Keenan, <jkeenan@pobox.com> wrote:

> On 1/24/20 1:40 AM, demerphq wrote:
> > On Thu, 23 Jan 2020 at 15:56, James E Keenan <jkeenan@pobox.com
> > <mailto:jkeenan@pobox.com>> wrote:
> >
> >     Unfortunately, this branch experienced a build-time failure on one of
> >     those continuous-integration thingees we've added in recent months.
> >     Worse, the build-time failure was on one Windows machine (but
> >     apparently
> >     not the other).
> >
> >
> > Ok, I have pushed fixes for these issues I believe. The warnings in the
> > Windows reports were pre-existing, the errors were  new and due to the
> > version of C being used not being able to handle something like this:
> >
> > const U8 n = 10;
> > int i[n];
> >
> > The warning you noticed was due to a codepath that croaks not setting
> > RETVAL since it croaks. I changed it to set RETVAL first to silence the
> > warnings.
> >
> > And lastly I added some casts so that if UV was smaller than uint64_t
> > the compiler would not complain, if UV is smaller than 64 bits we wont
> > enter those codepaths anyway.
> >
> > I think this should be good now. But I wonder if we shouldnt squash the
> > patch sequence down to a single commit.
> >
> > Thank you for the support on getting this merged!
>
> Thanks for the additional investigation.  Unfortunately, the build-time
> warning that caught my eye earlier is still present.  Configuring simply
> with '-des -Dusedevel' and building with gcc 7.4.0 on Linux, I detect
> this warning in the output:
>
> #####
> cc -c   -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -Wno-deprecated-declarations -Wall -Werror=pointer-arith -Wextra
> -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -O2
> -DVERSION=\"1.07\" -DXS_VERSION=\"1.07\" -fPIC "-I../.."   APItest.c
> In file included from ../../perl.h:5471:0,
>                   from APItest.xs:10:
> APItest.c: In function ‘XS_XS__APItest__HvMacro_u8_to_u16_le’:
> ../../pp.h:419:25: warning: ‘RETVAL’ may be used uninitialized in this
> function [-Wmaybe-uninitialized]
>               & (TARGu_uv <= (UV)IV_MAX)))                                \
>                           ^~
> APItest.c:13153:5: note: ‘RETVAL’ was declared here
>    UV RETVAL;
>       ^~~~~~
> "../../miniperl" "-I../../lib" "../../lib/ExtUtils/xsubpp"  -typemap
> '/home/jkeenan/gitwork/perl/ext/XS-APItest/../../lib/ExtUtils/typemap'
> -typemap '/home/jkeenan/gitwork/perl/ext/XS-APItest/typemap'
> XSUB-undef-XS_VERSION.xs > XSUB-undef-XS_VERSION.xsc
> mv XSUB-undef-XS_VERSION.xsc XSUB-undef-XS_VERSION.c
> cc -c   -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -Wno-deprecated-declarations -Wall -Werror=pointer-arith -Wextra
> -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -O2
> -DVERSION=\"1.07\" -DXS_VERSION=\"1.07\" -fPIC "-I../.."
> XSUB-undef-XS_VERSION.c
> #####
>
> This warning is not present in blead (6568ef8216).  Can you correct
> this?  I will then squash and merge.
>

For sure. FWIW this is FCC being too clever for it's own good. It doesnt
realize that ix can only be one of the values in the switch. The code is
just fine as is.

I knew I should have fixed this the other way. Sigh.

Patch coming up shortly.

Yves

>

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About