On Thu, 31 Oct 2002, Josh Wilmes wrote:

> 
> I've banged together a first attempt at a miniparrot- that is, something 
> that can be built on any ANSI C system without anything other than a 
> compiler.

Great!

I haven't looked deeply, but there is one little quibble I found so far:

In config/auto/alignptrs.pl, there is

  if ($miniparrot) {
     # we can't guarantee anything about pointer alignment under ANSI C89.
     # so we will have to check every byte.
     Configure::Data->set(ptr_alignment => 1);

Alas, you can't check every byte.  It is true that you can't portably
guarantee anything about pointer alignment.  Thus, for example, it's not
guaranteed that you can access things at arbitrary alignment.

In particular, with ptr_alignment = 1 on a SPARC, I get 

    signal BUS (invalid address alignment) in trace_system_stack at line
    491 in file "dod.c"
      491           size_t ptr = *(size_t *)cur_var_ptr;

-- 
    Andy Dougherty              [EMAIL PROTECTED]

Reply via email to