Skip Menu |

This queue is for tickets about the Params-Validate CPAN distribution.

Report information
The Basics
Id: 19006
Status: resolved
Priority: 0/
Queue: Params-Validate

People
Owner: Nobody in particular
Requestors: RSAVAGE [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.81
Fixed in: 0.82



Subject: Syntax error in Validate.xs
Perl: 5.8.7 OS: Win2K Command: nmake Output: cp lib/Params/ValidatePP.pm blib\lib\Params\ValidatePP.pm cp lib/Attribute/Params/Validate.pm blib\lib\Attribute\Params\Validate.pm cp lib/Params/Validate.pm blib\lib\Params\Validate.pm cp lib/Params/ValidateXS.pm blib\lib\Params\ValidateXS.pm C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp -typemap C:\Perl\lib\ExtUtils\typemap Validate.xs > Validate.xsc && C:\Perl\bin\perl.exe -MExtUtils::Command -e mv Validate.xsc Validate.c cl -c -nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONSOLE - DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTOMIZE - DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO - DPERL_MSVCRT_READFIX -MD -DNDEBUG -O1 -DVERSION=\"0.81\" - DXS_VERSION=\"0.81\" "-IC:\Perl\lib\CORE" Validate.c Validate.c Validate.xs(115) : warning C4101: 'str' : unreferenced local variable Validate.xs(135) : error C2054: expected '(' to follow 'inline' Validate.xs(136) : error C2085: 'no_validation' : not in formal parameter list Validate.xs(136) : error C2143: syntax error : missing ';' before '{' Validate.xs(147) : error C2054: expected '(' to follow 'inline' Validate.xs(149) : error C2085: 'typemask_to_string' : not in formal parameter list Validate.xs(149) : error C2143: syntax error : missing ';' before '{' Validate.xs(201) : error C2054: expected '(' to follow 'inline' Validate.xs(202) : error C2085: 'get_type' : not in formal parameter list Validate.xs(202) : error C2143: syntax error : missing ';' before '{' Validate.xs(247) : error C2054: expected '(' to follow 'inline' Validate.xs(252) : error C2085: 'article' : not in formal parameter list Validate.xs(252) : error C2143: syntax error : missing ';' before '{' Validate.xs(376) : warning C4013: 'article' undefined; assuming extern returning int Validate.xs(376) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int ' Validate.xs(376) : warning C4024: 'Perl_sv_catpv' : different types for formal and actual parameter 3 Validate.xs(380) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int ' Validate.xs(380) : warning C4024: 'Perl_sv_catpv' : different types for formal and actual parameter 3 Validate.xs(454) : warning C4013: 'get_type' undefined; assuming extern returning int Validate.xs(464) : warning C4013: 'typemask_to_string' undefined; assuming extern returning int Validate.xs(464) : warning C4047: '=' : 'struct sv *' differs in levels of indirection from 'int ' Validate.xs(465) : warning C4047: '=' : 'struct sv *' differs in levels of indirection from 'int ' Validate.xs(466) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int ' Validate.xs(466) : warning C4024: 'Perl_sv_catpv' : different types for formal and actual parameter 3 Validate.xs(1003) : warning C4013: 'no_validation' undefined; assuming extern returning int
Subject: Re: [rt.cpan.org #19006] Syntax error in Validate.xs
Date: Mon, 1 May 2006 12:26:00 -0500 (CDT)
To: via RT <bug-Params-Validate [...] rt.cpan.org>
From: Dave Rolsky <autarch [...] urth.org>
On Mon, 1 May 2006, via RT wrote: Show quoted text
> Validate.xs(135) : error C2054: expected '(' to follow 'inline'
I made a change to the XS which may fix this. Can you check out the latest SVN version at https://svn.urth.org/svn/Params-Validate/trunk and see if it compiles? -dave /*=================================================== VegGuide.Org www.BookIRead.com Your guide to all that's veg. My book blog ===================================================*/
Subject: Re: [rt.cpan.org #19006] Syntax error in Validate.xs
Date: Tue, 2 May 2006 10:17:55 +1000
To: "autarch [...] urth.org via RT" <bug-Params-Validate [...] rt.cpan.org>
From: Ron Savage <ron [...] savage.net.au>
On Mon, 1 May 2006 13:43:30 -0400 (EDT), autarch@urth.org via RT wrote: Hi No change. Here's the start of the errors: C:\SVN\Params-Validate>nmake Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. cp lib/Attribute/Params/Validate.pm blib\lib\Attribute\Params\Validate.pm cp lib/Params/ValidatePP.pm blib\lib\Params\ValidatePP.pm cp lib/Params/Validate.pm blib\lib\Params\Validate.pm cp lib/Params/ValidateXS.pm blib\lib\Params\ValidateXS.pm C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp -typemap C:\Perl\lib\ExtUtils\typemap Val idate.xs > Validate.xsc && C:\Perl\bin\perl.exe -MExtUtils::Command -e mv Validate.xsc Validate.c cl -c -nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT - DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MS VCRT_READFIX -MD -DNDEBUG -O1 -DVERSION=\"0.81\" -DXS_VERSION=\"0.81\" "-IC:\Perl\lib\CORE" V alidate.c Validate.c Validate.xs(134) : error C2054: expected '(' to follow 'inline' I'm using TortoiseSVN and it checked out the HEAD revision, # 371. Is that expected? -- Cheers Ron Savage, ron@savage.net.au on 2/05/2006 http://savage.net.au/index.html Let the record show: Microsoft is not an Australian company
From: Audrey Tang
Dave and Ron: This attached patch fixed it for me. Audrey

Message body is not shown because it is too large.

From: Audrey Tang
On 2006-05-04 10:25:42 星期四, guest wrote: Show quoted text
> Dave and Ron: This attached patch fixed it for me. > > Audrey
Er, sorry, wrong attachment. Audrey
Index: Validate.xs =================================================================== --- Validate.xs (revision 371) +++ Validate.xs (working copy) @@ -10,6 +10,12 @@ #define NEED_newCONSTSUB #include "ppport.h" +#ifdef _MSC_VER +#define INLINE +#else +#define INLINE inline +#endif + /* not defined in 5.00503 _or_ ppport.h! */ #ifndef CopSTASHPV # ifdef USE_ITHREADS @@ -130,7 +136,7 @@ newCONSTSUB(stash, "BOOLEAN", newSViv(BOOLEAN)); } -static inline bool +static INLINE bool no_validation() { SV* no_v; @@ -143,7 +149,7 @@ } /* return type string that corresponds to typemask */ -static inline SV* +static INLINE SV* typemask_to_string(IV mask) { SV* buffer; @@ -196,7 +202,7 @@ } /* compute numberic datatype for variable */ -static inline IV +static INLINE IV get_type(SV* sv) { IV type = 0; @@ -241,7 +247,7 @@ } /* get an article for given string */ -inline +INLINE #if (PERL_VERSION >= 6) /* Perl 5.6.0+ */ static const char* #else
From: ron [...] savage.net.au
V 0.82 compiles cleanly for me. $many x $thanx; Installing under Windows is a PITA, but that's my problem :-(: Cannot forceunlink C:\Perl\site\lib\auto\Params\Validate\Validate.dll: Permission denied at C:/Perl/ lib/File/Find.pm line 907