Skip Menu |

This queue is for tickets about the Devel-Size CPAN distribution.

Report information
The Basics
Id: 38801
Status: resolved
Priority: 0/
Queue: Devel-Size

People
Owner: Nobody in particular
Requestors: HMBRAND [...] cpan.org
Zoltan.Banai [...] morganstanley.com
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.71
Fixed in: (no value)



Subject: Illegal sequence in block
/pro/bin/perl "-Iinc" /pro/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap / pro/lib/perl5/5.8.8/ExtUtils/typemap Size.xs > Size.xsc && mv Size.xsc Size.c cc -c -Ae +DAportable +Z -z -D_HPUX_SOURCE -Wl,+vnocompatwarnings -I/ pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +O2 +Onolimit -DVERSION=\"0.71\" -DXS_VERSION=\"0.71\" +Z "-I/pro/lib/ perl5/5.8.8/PA-RISC2.0/CORE" Size.c cc: "Size.xs", line 772: error 1000: Unexpected symbol: "AV". make: *** [Size.o] Error 1 This is perl, v5.8.8 built for PA-RISC2.0 HP-UX 10.20/32 U 9000/800/D390 PA8000/240 pa-2.0 512 Mb You cannot `do' something before declaring your variables: --- Size.xs.org 2008-08-28 18:57:06 +0200 +++ Size.xs 2008-08-28 18:56:00 +0200 @@ -767,10 +767,10 @@ CODE: case SVt_PVAV: { - dbg_printf(("# Found type AV\n")); /* Quick alias to cut down on casting */ AV *tempAV = (AV *)thing; SV **tempSV; + dbg_printf(("# Found type AV\n")); /* Any elements? */ if (av_len(tempAV) != -1) {
Subject: Re: [rt.cpan.org #38801] Illegal sequence in block
Date: Thu, 28 Aug 2008 18:59:27 +0200
To: bug-Devel-Size [...] rt.cpan.org
From: Tels <nospam-abuse [...] bloodgate.com>
Hello, thank you for your report, a good catch. All the best, Tels On Thursday 28 August 2008 18:57:59 HMBRAND via RT wrote: Show quoted text
> Thu Aug 28 12:57:54 2008: Request 38801 was acted upon. > Transaction: Ticket created by HMBRAND > Queue: Devel-Size > Subject: Illegal sequence in block > Broken in: 0.71 > Severity: Critical > Owner: Nobody > Requestors: HMBRAND@cpan.org > Status: new > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=38801 > > > > /pro/bin/perl "-Iinc" /pro/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap > / pro/lib/perl5/5.8.8/ExtUtils/typemap Size.xs > Size.xsc && mv > Size.xsc Size.c > cc -c -Ae +DAportable +Z -z -D_HPUX_SOURCE -Wl,+vnocompatwarnings > -I/ pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +O2 > +Onolimit -DVERSION=\"0.71\" -DXS_VERSION=\"0.71\" +Z "-I/pro/lib/ > perl5/5.8.8/PA-RISC2.0/CORE" Size.c > cc: "Size.xs", line 772: error 1000: Unexpected symbol: "AV". > make: *** [Size.o] Error 1 > > This is perl, v5.8.8 built for PA-RISC2.0 > > HP-UX 10.20/32 U 9000/800/D390 PA8000/240 pa-2.0 512 Mb > > > You cannot `do' something before declaring your variables: > > --- Size.xs.org 2008-08-28 18:57:06 +0200 > +++ Size.xs 2008-08-28 18:56:00 +0200 > @@ -767,10 +767,10 @@ CODE: > > case SVt_PVAV: > { > - dbg_printf(("# Found type AV\n")); > /* Quick alias to cut down on casting */ > AV *tempAV = (AV *)thing; > SV **tempSV; > + dbg_printf(("# Found type AV\n")); > > /* Any elements? */ > if (av_len(tempAV) != -1) {
-- Signed on Thu Aug 28 18:59:07 2008 with key 0x93B84C15. View my photo gallery: http://bloodgate.com/photos PGP key on http://bloodgate.com/tels.asc or per email. Mediawiki graph-extension: http://bloodgate.com/perl/graph/
Download signature.asc
application/pgp-signature 481b

Message body not shown because it is not plain text.

Subject: Support for old C (Sun Studio / MS VC) compilers
When using older compilers (Sun Studio before SunOS 5.10 or MSVC7/8) build fails if the code contains declarations outside of file scope or the start of compound statement. (allowed in C99) This patch allows the code to be compiled with these compilers: --- Size.xs 2008-08-24 11:24:04.000000000 +0200 +++ patched/Size.xs 2009-04-30 16:16:21.000000000 +0200 @@ -767,10 +767,11 @@ case SVt_PVAV: { + AV *tempAV; + SV **tempSV; dbg_printf(("# Found type AV\n")); /* Quick alias to cut down on casting */ - AV *tempAV = (AV *)thing; - SV **tempSV; + tempAV = (AV *)thing; /* Any elements? */ if (av_len(tempAV) != -1) {
Patch attached
--- Size.xs 2008-08-24 11:24:04.000000000 +0200 +++ /ms/dev/perl5/Devel-Size/0.71/src/distro/Size.xs 2009-04-30 16:16:21.000000000 +0200 @@ -767,10 +767,11 @@ case SVt_PVAV: { + AV *tempAV; + SV **tempSV; dbg_printf(("# Found type AV\n")); /* Quick alias to cut down on casting */ - AV *tempAV = (AV *)thing; - SV **tempSV; + tempAV = (AV *)thing; /* Any elements? */ if (av_len(tempAV) != -1) {
On Mon May 04 11:03:10 2009, zoltan.banai wrote: Show quoted text
> Patch attached
Thanks. Having taken over maintenance of Devel::Size, it looks like the problem was fixed as part of a more comprehensive refactor in the 0.72 release made by BrowserUK. (Which was never seen by the CPAN indexer, as it looks like he never had the PAUSE permissions for the namespace transferred to him). Based on that 0.72, I've made a 0.72_50 development release (with some more fixes) and uploaded it to CPAN. I'll upload a 0.73 once the various CPAN smokers have tried it out on various platforms. I checked with gcc set to -std=c89 and it can't spot any similar code before declaration problems, hence, I think that this bug is now resolved. Nicholas Clark
On Thu Aug 28 12:57:54 2008, HMBRAND wrote: Show quoted text
> You cannot `do' something before declaring your variables:
Well, you can in C99, but at least whenever I'm thinking about C99, I call it C99, not C. Show quoted text
> --- Size.xs.org 2008-08-28 18:57:06 +0200 > +++ Size.xs 2008-08-28 18:56:00 +0200 > @@ -767,10 +767,10 @@ CODE: > > case SVt_PVAV: > { > - dbg_printf(("# Found type AV\n")); > /* Quick alias to cut down on casting */ > AV *tempAV = (AV *)thing; > SV **tempSV; > + dbg_printf(("# Found type AV\n")); > > /* Any elements? */ > if (av_len(tempAV) != -1) {
Having taken over maintenance of Devel::Size, it looks like the problem was fixed as part of a more comprehensive refactor in the 0.72 release made by BrowserUK. (Which was never seen by the CPAN indexer, as it looks like he never had the PAUSE permissions for the namespace transferred to him). Based on that 0.72, I've made a 0.72_50 development release (with some more fixes) and uploaded it to CPAN. I'll upload a 0.73 once the various CPAN smokers have tried it out on various platforms. I checked with gcc set to -std=c89 and it can't spot any similar code before declaration problems, hence, I think that this bug is now resolved. I'd love to know what 64 bit HP/UX (and AIX if possible) make of it. I don't think that anyone is smoking CPAN on either platform. Nicholas Clark