[ts-gen] tarball for those with i64 systems

Bill Pippin pippin at owlriver.net
Mon Aug 25 15:07:39 EDT 2008


Nils,

You've now indicated, in a post I believe is meant for the list
(my apologies if not):

> With 080822 everything looks fine ...

Wonderful!  That being said, an earlier post led me to review the library
sources again for hardware dependencies, and a very useful post from an
off-list poster suggested where I should start looking:

> I only got a few warning messages ... just in case it may
> be helpful to you I send you the output:

> In file included from lib/pool-h.h:10,
>                  from lib/pool.c:8:
> lib/pointer.h: In member function mmm::nat mmm::mem::Ptr::w(mmm::nat) const:
> lib/pointer.h:27: warning: suggest parentheses around + or - inside shift

The warnings weren't themselves interesting, but reviewing them led me
to notice a shift in pointer.h that involved an architecture dependency
I could factor to MemConsts, followed by elimination of the pointer.h
header file from the sources.

This led me to go through the library code and check each and every use
of the shift operator for architecture dependencies.  There were a few
in the String library routines, and I fixed or removed those.

As it now stands, those expressions left fall into the two cases of,
(1), IO or other class-provided definitions of operator<<(); and
(2), arithemetic shifts with either no manifest constants whatsoever,
or else, as a special case, 1 used to represent 2^0, which fact of
mathematics is not hardware specific.

So, although you've now indicated the shim works fine, I did find
something to fix in the sources, and I believe you'll be better off
on 64bit if you start from the 080825 tarball I just pushed, which
includes the refactoring mentioned above.  This also applies, by
the way, to everyone else on i64.

So, if you are running on 64bit and trying to use one of the newer shim
releases, please consider jumping all the way forward to the present.

Thanks,

Bill


More information about the ts-general mailing list