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;
}