[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [DotGNU]another bug in pnet
From: |
Rhys Weatherley |
Subject: |
Re: [DotGNU]another bug in pnet |
Date: |
Sun, 12 Jan 2003 07:01:23 +1000 |
User-agent: |
KMail/1.4.3 |
On Saturday 11 January 2003 10:48 pm, Paolo Molaro wrote:
> I first thought it was a bug in mono, but it turns out it's a bug in
> pnet. QNull is a valuetype and as such it needs to have a size > 0.
> I'm sure this is in the spec somewhere, I'm too lazy to look it up, but
> think about it: a valuetype is allocated on the stack, or as a field,
> it _needs_ to have a non-zero size.
I did attempt to fix this previously, as Gopal pointed out. I had another
look and discovered that I didn't fix it completely. I checked that the
value type didn't have any fields, but I should have been checking that it
didn't have any _instance_ fields. The presence of a single "static" field
re-triggers the bug. I'll fix this.
Frankly, I don't know why the spec has a problem with zero-sized structs.
They seem perfectly normal to me. But the "Basic Interoperability Rule"
comes into play here: MS chokes on it, so we have to fix it.
> I compiled it with cscc from a few weeks ago (cvs pnet doesn't compile,
> missing numformat.c file).
That file was removed because it was obsolete. From time to time, it is
necessary to re-run "auto_gen.sh" to re-generate the Makefiles in a checked
out CVS version. If in doubt, "make distclean; ./auto_gen.sh; ./configure;
make".
Cheers,
Rhys.