Sorry for the delay...work interfered with my playing and I had to
transfer my CVS repo to my x86-64 machine.   I don't know if I'd
classify it as "silence thereafter..." as in the summary, but its pretty
close :)

Here's the diff against the current CVS.  It doesn't mess with the
default class that needs the split for the return & exception.

Brian Wheeler
[EMAIL PROTECTED]


Index: config/auto/jit.pl
===================================================================
RCS file: /cvs/public/parrot/config/auto/jit.pl,v
retrieving revision 1.33
diff -u -r1.33 jit.pl
--- config/auto/jit.pl  8 Mar 2004 08:49:05 -0000       1.33
+++ config/auto/jit.pl  18 Oct 2004 05:25:57 -0000
@@ -171,9 +171,9 @@
   else {
     Configure::Data->set(
       jitarchname => 'nojit',
-      jitcpuarch  => 'i386',
-      jitcpu      => 'I386',
-      jitosname   => 'nojit',
+      jitcpuarch  => $cpuarch,
+      jitcpu      => $cpuarch,
+      jitosname   => $osname,
       jitcapable  => 0,
       execcapable => 0,
       cc_hasjit   => '',
Index: config/auto/memalign.pl
===================================================================
RCS file: /cvs/public/parrot/config/auto/memalign.pl,v
retrieving revision 1.10
diff -u -r1.10 memalign.pl
--- config/auto/memalign.pl     13 Oct 2004 14:37:59 -0000      1.10
+++ config/auto/memalign.pl     18 Oct 2004 05:25:57 -0000
@@ -42,6 +42,13 @@
        Configure::Data->set('malloc_header', 'stdlib.h');
     }
  
+    if (Configure::Data->get('ptrsize') == Configure::Data->get('intsize')) {
+       Configure::Data->set('ptrcast','int');
+      }
+    else {
+       Configure::Data->set('ptrcast','long');
+      }
+
     cc_gen('config/auto/mema

On Thu, 2004-10-14 at 06:37, Leopold Toetsch wrote:
> Brian Wheeler wrote:
> > 
> > * cast warnings in default.pmc.  Changing static int cant_do_method to
> > static long cant_do_method makes it compile without warnings, but its
> > not the right fix. 
> 
> Better would be to split the return statement and the exception in the 
> generated code.
> 
> > Below is a patch which fixes the first 3.
> 
> Doesn't apply. Please rediff to current CVS and attach the patch.
> 
> Thanks,
> leolign/test_c.in');
     eval { cc_build(); };
     unless ($@ || cc_run_capture() !~ /ok/) {
Index: config/auto/memalign/test_c.in
===================================================================
RCS file: /cvs/public/parrot/config/auto/memalign/test_c.in,v
retrieving revision 1.4
diff -u -r1.4 test_c.in
--- config/auto/memalign/test_c.in      13 Jul 2003 18:52:37 -0000      1.4
+++ config/auto/memalign/test_c.in      18 Oct 2004 05:25:57 -0000
@@ -9,6 +9,6 @@
  
 int main(int argc, char **argv) {
        void *ptr = memalign(256, 17);
-       puts(ptr && ((int)ptr & 0xff) == 0 ? "ok" : "nix");
+       puts(ptr && ((${ptrcast})ptr & 0xff) == 0 ? "ok" : "nix");
        return 0;
 }
Index: config/auto/memalign/test_c2.in
===================================================================
RCS file: /cvs/public/parrot/config/auto/memalign/test_c2.in,v
retrieving revision 1.3
diff -u -r1.3 test_c2.in
--- config/auto/memalign/test_c2.in     13 Jul 2003 18:52:37 -0000      1.3
+++ config/auto/memalign/test_c2.in     18 Oct 2004 05:25:57 -0000
@@ -20,6 +20,6 @@
         *      arbitrary allocation size)
         */
        int i = posix_memalign(&p, s, 177);
-       puts(((int)p & 0xff) == 0 && i == 0 ? "ok" : "nix");
+       puts(((${ptrcast})p & 0xff) == 0 && i == 0 ? "ok" : "nix");
        return i;
 }



Reply via email to