Question of Ignorance
Alan Rooks
alan at oscvax.UUCP
Sun May 12 09:59:03 AEST 1985
David Anthony was wondering why Alcyon Corp's C compiler scales constants in:
if (ptr == CONSTANT) ...
Maybe Alcyon's justification for this is that (they think) it is equivalent to:
if (ptr - CONSTANT == 0) ...
which is generally true in comparisons, but not with pointers. So when they
subtract the constant from the pointer, they have to scale it, as per
K&R page 189. The funny thing is, they don't generate code with a subtraction
and a compare against zero (and it would be a shame if they did) ...
Alan Rooks, Ontario Science Centre
More information about the Comp.lang.c
mailing list