On Wed, Jun 30, 2004 at 15:03:36 +0300, Nir Tzachar wrote: > > And that *is* the point. All your "0" and "NULL" above are the C source > > representation independent of the bitmap used on the hardware at > > run-time. And it must always work. > > this has nothing to do with run-time. this macro calculates the offset at > compile time. AGAIN, i see NO relevance to the actual representation of > NULL in hardware. > as i understand this, this is just a compiler trick, to get an offset. > if im terribly mistaken, can someone please enlighten me ???? There is nothing like a compile time computation. Such notion does not exist. Both subtractions there are normal, run-time subtractions and so, of course, are affected by the way casting between integer and pointer. Now, that's as far as semantics goes. Of course, the optimizer will see, that the values are constant and compute it compile-time. But it's forbidden for optimizer to change semantics, so it still has to compute it exactly as if it was not there and the computation was done run-time. ------------------------------------------------------------------------------- Jan 'Bulb' Hudec <bulb@ucw.cz>
Attachment:
signature.asc
Description: Digital signature