# New Ticket Created by Jarkko Hietaniemi # Please include the string: [perl #31064] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=31064 >
Because this is a family channel I won't publicly comment on the classes/unmanagedstruct.pmc change at line 527. -- Jarkko Hietaniemi <[EMAIL PROTECTED]> http://www.iki.fi/jhi/ "There is this special biologist word we use for 'stable'. It is 'dead'." -- Jack Cohen
--- classes/unmanagedstruct.pmc.dist 2004-08-11 19:07:06.000000000 +0300 +++ classes/unmanagedstruct.pmc 2004-08-11 19:08:09.000000000 +0300 @@ -169,6 +169,7 @@ */ if (*type == enum_type_struct_ptr) { /* that is either a pointer */ + assert((PTR2INTVAL(p) & (PARROT_PTR_ALIGNMENT - 1)) == 0); PMC_data(init) = *(void**)p; } else { @@ -182,8 +183,8 @@ * p is the location of the struct pointer in the * outer struct, the inner is at PMC_data(init) */ + assert((PTR2INTVAL(p) & (PARROT_PTR_ALIGNMENT - 1)) == 0); *(void**)p = PMC_data(init); - } return char_offset_key(interpreter, init, next, type); } @@ -527,8 +528,6 @@ if (align && offs % align) { int diff; - if (align > 4 && !strcmp(PARROT_CPU_ARCH, "i386")) - align = 4; diff = align - (offs % align); offs += diff; } --- t/pmc/nci.t 2004-08-11 19:11:06.000000000 +0300 +++ t/pmc/nci.t.dist 2004-08-11 19:14:15.000000000 +0300 @@ -544,7 +544,7 @@ output_is(<<'CODE', <<'OUTPUT', "nci_p_i - nested struct *"); loadlib P1, "libnci" dlfunc P0, P1, "nci_pi", "pi" - # this test function returns a struct { char; {int, int, double} } + # this test function returns a struct { char; x->{int, double} } set I5, 4 invoke .include "datatypes.pasm" @@ -566,7 +566,7 @@ push P2, 0 push P2, 0 push P2, .DATATYPE_STRUCT_PTR - # attach the unmanaged struct as property + # attach the unmanged struct as property set P1, P2[-1] setprop P1, "_struct", P4 push P2, 0