Klaas-Jan Stol a écrit :
somehow a fresh checkout has resolved the problem

(but my other sandbox was still up to date according to svn status...)

anyhow, this ticket can be rejected.


I'm not sure.
Since r26988, I've same failure on Windows, with mingw gcc-3.4.2, and perl 5.8.8 (build 822 from ActiveState).

The following patch solves (or hides) the problem
Index: src/string.c
===================================================================
--- src/string.c        (revision 28084)
+++ src/string.c        (working copy)
@@ -284,7 +284,7 @@
     for (i = 0; i < n_parrot_cstrings; ++i) {
         interp->const_cstring_table[i] = string_make_direct(interp,
                 parrot_cstrings[i].string,
-                parrot_cstrings[i].len,
+                strlen(parrot_cstrings[i].string),
                 PARROT_DEFAULT_ENCODING, PARROT_DEFAULT_CHARSET,
                 PObj_external_FLAG|PObj_constant_FLAG);
     }

Now, I start to investigate where are the difference with the following code :
 for (i = 0; i < n_parrot_cstrings; ++i) {
     if (strlen(parrot_cstrings[i].string) != parrot_cstrings[i].len) {
         printf("string_init %d %d 0x%08x %s\n",
                strlen(parrot_cstrings[i].string),
                parrot_cstrings[i].len,
                parrot_cstrings[i].hash_val,
                parrot_cstrings[i].string);
     }
     interp->const_cstring_table[i] = string_make_direct(interp,
             parrot_cstrings[i].string,
             strlen(parrot_cstrings[i].string),
             PARROT_DEFAULT_ENCODING, PARROT_DEFAULT_CHARSET,
             PObj_external_FLAG|PObj_constant_FLAG);
 }

I obtain the following ouput (note the newline):
string_init 1 2 0x00000c38 \
string_init 3 4 0x00334876 ?%d
string_init 1 2 0x00000c4a

string_init 1 4 0x003477f8 "
string_init 2 3 0x000193b0 \x
string_init 2 3 0x000193ad \u
string_init 0 2 0x00000c0c

I suspect a problem in c2str.pl string only on Windows, something like a missing or bad binmode.

François.


kjs

On Thu, Jun 5, 2008 at 10:38 AM, via RT Klaas-Jan Stol
<[EMAIL PROTECTED]> wrote:
# New Ticket Created by  Klaas-Jan Stol
# Please include the string:  [perl #55332]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=55332 >


Parrot is built fine, but there seems to be something wrong in PGE.

I'm using visual studio express edition and strawberry perl.

this is the output:

[...]
mingw32-make: Leaving directory `C:/Documents and
Settings/klaas-jan.stol/My Documents/parrot3/src/dynoplibs'
       mingw32-make -C compilers\pct
mingw32-make: Entering directory `C:/Documents and
Settings/klaas-jan.stol/My Documents/parrot3/compilers/pct'
..\..\parrot.exe -o ..\..\runtime\parrot\library\PCT.pbc --output-pbc PCT.pir
..\..\parrot.exe -o ..\..\runtime\parrot\library\PCT\PAST.pbc
--output-pbc src\PAST.pir
..\..\parrot.exe -o ..\..\runtime\parrot\library\PCT\Grammar.pbc
--output-pbc src\PCT\Grammar.pir
..\..\parrot.exe -o ..\..\runtime\parrot\library\PCT\HLLCompiler.pbc
--output-pbc src\PCT\HLLCompiler.pir
mingw32-make: Leaving directory `C:/Documents and
Settings/klaas-jan.stol/My Documents/parrot3/compilers/pct'
       mingw32-make -C compilers\pge
mingw32-make: Entering directory `C:/Documents and
Settings/klaas-jan.stol/My Documents/parrot3/compilers/pge'
C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e rm_f PGE.pbc
..\..\runtime\parrot\library\PGE.pbc
C:\strawberry\perl\bin\perl.exe -e "" >PGE\builtins_gen.pir
..\..\parrot.exe -o PGE.pbc --output-pbc PGE.pir
..\..\parrot.exe ..\..\runtime\parrot\library\PGE\Perl6Grammar.pir
--output=PGE\builtins_gen.pir PGE\builtins.pg
Null PMC access in invoke()
current instr.: 'parrot;PGE::Perl6Grammar::Compiler;compile' pc 200
(..\..\runtime\parrot\library\PGE\Perl6Grammar.pir:157)
called from Sub 'parrot;PCT::HLLCompiler;eval' pc 753
(src\PCT\HLLCompiler.pir:450)
called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1065
(src\PCT\HLLCompiler.pir:587)
called from Sub 'parrot;PCT::HLLCompiler;command_line' pc 1257
(src\PCT\HLLCompiler.pir:679)
called from Sub 'parrot;PGE::Perl6Grammar::Compiler;main' pc 16
(..\..\runtime\parrot\library\PGE\Perl6Grammar.pir:66)
mingw32-make: *** [PGE.pbc] Error 1
mingw32-make: Leaving directory `C:/Documents and
Settings/klaas-jan.stol/My Documents/parrot3/compilers/pge'
NMAKE : fatal error U1077: 'mingw32-make' : return code '0x2'
Stop.

======= myconfig ===================

Summary of my parrot 0.6.2 (r28084) configuration:
 configdate='Thu Jun  5 09:24:55 2008 GMT'
 Platform:
   osname=MSWin32, archname=MSWin32-x86-multi-thread
   jitcapable=1, jitarchname=i386-MSWin32,
   jitosname=MSWIN32, jitcpuarch=i386
   execcapable=1
   perl=C:\strawberry\perl\bin\perl.exe
 Compiler:
   cc='gcc', ccflags='-DWIN32  -DHASATTRIBUTE_CONST
-DHASATTRIBUTE_DEPRECATED  -DHASATTRIBUTE_MALLOC
-DHASATTRIBUTE_NONNULL  -DHASATTRIBUTE_NORETURN  -DHASATTRIBUTE_PURE
-DHASATTRIBUTE_UNUSED  -DHASATTRIBUTE_WARN_UNUSED_RESULT
-falign-functions=16 -maccumulate-outgoing-args -W -Wall
-Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscripts
-Wcomment -Wdisabled-optimization -Wendif-labels -Wextra -Wformat
-Wformat-extra-args -Wformat-nonliteral -Wformat-security -Wformat-y2k
-Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch
-Wmissing-braces -Wno-missing-format-attribute -Wpacked -Wparentheses
-Wpointer-arith -Wreturn-type -Wsequence-point -Wno-shadow
-Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch
-Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused
-Wwrite-strings -Wbad-function-cast -Wdeclaration-after-statement
-Wimplicit-function-declaration -Wimplicit-int -Wmain
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs
-Wnonnull',
 Linker and Libraries:
   ld='g++', ldflags='',
   cc_ldflags='',
   libs='-lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool
-lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid
-lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lgmp'
 Dynamic Linking:
   share_ext='.dll', ld_share_flags='-shared ',
   load_ext='.dll', ld_load_flags='-shared '
 Types:
   iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
   ptrsize=4, ptr_alignment=1 byteorder=1234,
   nv=double, numvalsize=8, doublesize=8







Reply via email to