| Speaking of 5.02 . Could someone enlighten us that are not on
| the CVS mailing list about the state of things? When can we
| expect the release?
If I'm feeling optimistic, late this week; otherwise, sometime
next week. We've had some stability problems, but I hope these
are now solved.
Thanks. I think the decision here is to do the safe thing and mask
the return results ourselves, since it's only one extra insn. This
won't make it into 5.02, tho.
So GHC's Int/Word implementation is different from Hugs'? Hugs
represents Word8 (say) by a 32 bit int but doesn't guarantee
10 Sep 2001 13:20:33 -0600, Alastair David Reid [EMAIL PROTECTED] pisze:
So GHC's Int/Word implementation is different from Hugs'? Hugs
represents Word8 (say) by a 32 bit int but doesn't guarantee that the
top 24 bits are all zero.
GHC does similarly, except that it does guarantee that
Sigbjorn Finne [EMAIL PROTECTED] wrote:
Julian Seward (Intl Vendor) [EMAIL PROTECTED] writes:
| char fooble ( ... )
| {
| return 'z';
| }
|
| on an x86, 'z' will be returned at the lowest 8 bits in %eax. What I
| don't know is, is the C compiler obliged to clear the
On 08-Aug-2001, Fergus Henderson [EMAIL PROTECTED] wrote:
Sigbjorn Finne [EMAIL PROTECTED] wrote:
Julian Seward (Intl Vendor) [EMAIL PROTECTED] writes:
| char fooble ( ... )
| {
| return 'z';
| }
|
| on an x86, 'z' will be returned at the lowest 8 bits in
Sigbjorn
Am confused by your answer.
| char fooble ( ... )
| {
| return 'z';
| }
|
| on an x86, 'z' will be returned at the lowest 8 bits in %eax. What I
| don't know is, is the C compiler obliged to clear the upper 24 bits
of
| %eax, or does that onus fall on the callee?
|
|
Sigbjorn Finne [EMAIL PROTECTED] writes:
Julian Seward (Intl Vendor) [EMAIL PROTECTED] writes:
Hmm, we're looking at this. However, I don't really know what
C is or is not supposed to do here. Given
char fooble ( ... )
{
return 'z';
}
on an x86, 'z' will be returned
At 2001-08-07 11:13, Carl R. Witty wrote:
You can see that the code for f is:
call g
andl $255,%eax
ret
So gcc believes that a function which returns a value of type unsigned
char is not responsible for clearing the high 3 bytes of %eax.
This is to be expected; in most
Julian Seward (Intl Vendor) [EMAIL PROTECTED] writes:
| char fooble ( ... )
| {
| return 'z';
| }
|
| on an x86, 'z' will be returned at the lowest 8 bits in %eax. What I
| don't know is, is the C compiler obliged to clear the upper 24 bits
of
| %eax, or does that onus
Has anyone else come across this? I've only tried this with Word8 but I
suspect this is a problem with all return types smaller than four bytes.
I've entered this as GHC bug #448104.
http://sourceforge.net/tracker/index.php?func=detailaid=448104group_id=8
032atid=108032
Here's the C code:
10 matches
Mail list logo