On Wed, 14 Feb 2007, Christopher Li wrote:
> >
> > It's nice if a NULL type means "type has not been evaluated yet", and then
> > using "&bad_ctype" to mean "type evaluated to crap".
>
> Good idea. Some of the code already doing that.
Yeah. I started out leaving bad stuff as NULL originally, but over time,
as I noticed SIGSEGV's, I mostly changed the ones that I ended up having
trigger to &bad_ctype.
Otherwise we either need to test for NULL all the time (and especially
since NULL under _some_ circumstances is ok and means "not evaluated yet",
that can be confusing), and having to pass up errors higher and higher up.
I at some point considered having a "silent bad_ctype" - a way of saying
"ok, the type here is bad, but I already warned about the thing that
_caused_ it to be bad, so don't warn any more about any type clashes".
But I don't think I ever did that, so now you often get two different
warnings (first a warning about "no such symbol" or something and then a
warning about "bad types to binary operation" or similar). Anyway, if
somebody ever gets irritated about the duplicate warnings, I thought I'd
mention that as a potential way to perhaps avoid havign things that
already caused errors cause even more verbose errors up the chain..
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html