Patrik Stridvall wrote:

> +print '    "." #stdcall_name ":\n"' . " \\\n";=0A=
> +print '    "\tmovl (%edx), %ecx\n"' . " \\\n";=0A=
> +print '    "\tmovl %eax, (%edx)\n"' . " \\\n";=0A=
> +print '    "\tmovl %ecx, %eax\n"' . " \\\n";=0A=
> +if($pic) {=0A=
> +    print '    "\tsubl $8, %edx\n"' . " \\\n";=0A=
> +} else {=0A=
> +    print '    "\tsubl $4, %edx\n"' . " \\\n";=0A=
> +}=0A=
> +print '    "\tleal (%esp), %ecx\n"' . " \\\n";=0A=
> +print '    "\tcmpl %ecx, %edx\n"' . " \\\n";=0A=
> +print '    "\tjge ." #stdcall_name "\n"' . " \\\n";=0A=

Well, this won't work if pic:  you are subtracting 8 in *each* pass 
of the loop!   B.t.w. as you're copying every argument anyway,
why not simply use a sequence of 'push'es?  It's not as if we
needed to conserve stack space ...

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  [EMAIL PROTECTED]

Reply via email to