Skip Menu |

This queue is for tickets about the Object-Pad CPAN distribution.

Report information
The Basics
Id: 131417
Status: resolved
Priority: 0/
Queue: Object-Pad

People
Owner: Nobody in particular
Requestors: mst [...] shadowcat.co.uk
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 0.11



Subject: C99 barf from compiler w/0.10
Date: Fri, 10 Jan 2020 18:33:56 +0000
To: bugs-Object-Pad [...] rt.cpan.org
From: Matt S Trout <mst [...] shadowcat.co.uk>
-> OK Checking dependencies from MYMETA.json ... Checking if you have Data::Dump 0 ... Yes (1.23) Checking if you have ExtUtils::CBuilder 0 ... Yes (0.280230) Checking if you have indirect 0 ... Yes (0.38) Checking if you have Test::More 0.88 ... Yes (1.302136) Building and testing Object-Pad-0.10 Building Object-Pad cc -I/home/matthewt/perl5/perlbrew/perls/perl-5.28.0/lib/5.28.0/x86_64-linux/COR E -DVERSION="0.10" -DXS_VERSION="0.10" -fPIC -Ihax -c -fwrapv -fno-strict-aliasi ng -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFS ET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -o lib/Object/Pad.o lib/Object/Pad.c lib/Object/Pad.xs: In function ‘injected_constructor’: lib/Object/Pad.xs:520:9: error: ‘for’ loop initial declarations are only allowed in C99 mode lib/Object/Pad.xs:520:9: note: use option -std=c99 or -std=gnu99 to compile your code error building lib/Object/Pad.o from 'lib/Object/Pad.c' at /home/matthewt/perl5/ perlbrew/perls/perl-5.28.0/lib/5.28.0/ExtUtils/CBuilder/Base.pm line 185. -> FAIL Installing Object::Pad failed. See /home/matthewt/.cpanm/work/1578681116 .29513/build.log for details. Retry with --force to force install it. -- Matt S Trout - Shadowcat Systems - Perl consulting with a commit bit and a clue http://shadowcat.co.uk/blog/matt-s-trout/ http://twitter.com/shadowcat_mst/ Email me now on mst (at) shadowcat.co.uk and let's chat about how our CPAN commercial support, training and consultancy packages could help your team.
Patched -- Paul Evans
Subject: rt131417.patch
=== modified file 'lib/Object/Pad.xs' --- old/lib/Object/Pad.xs 2019-11-20 19:27:48 +0000 +++ new/lib/Object/Pad.xs 2020-01-28 02:13:53 +0000 @@ -512,12 +512,13 @@ EXTEND(SP, SP-args + 1); SV **argtop = SP; + SV **svp; mPUSHs(newSVsv(class)); /* Push a copy of the args in case the (foreign) constructor mutates * them. We still need them for BUILDALL */ - for(SV **svp = args + 1; svp <= argtop; svp++) + for(svp = args + 1; svp <= argtop; svp++) PUSHs(*svp); PUTBACK; @@ -589,7 +590,7 @@ SV *superclassname = NULL; ClassMeta *supermeta = NULL; - // TODO: This grammar is quite flexible; maybe too much? + /* TODO: This grammar is quite flexible; maybe too much? */ while(1) { lex_read_space(0); @@ -760,7 +761,7 @@ AV *slots = compclassmeta->slots; - // TODO: Check for name collisions + /* TODO: Check for name collisions */ SlotMeta *slotmeta; Newx(slotmeta, 1, SlotMeta);
Now released in 0.11 -- Paul Evans