[EMAIL PROTECTED] removed; no bug was added to the gcc database,
since the email was malformed]

On Tue, Jun 10, 2003 at 10:32:09PM -0400, Matteo Frigo wrote:
> >Description:
> 
> It would be nice if this function issued a warning because of the
> implicit conversion ptrdiff_t -> int:
> 
> int foo(int *x, int *y)
> {
>      return x - y;
> }

There is no conversion to int.  foo* may be subtracted from foo* for any
type foo.  It's normal pointer arithmetic.  This code is fine.


> This code is correct on 32-bit machines, but it is likely to be wrong
> on machines with 64-bit pointers and 32-bit integers.  If possible,
> the warning should be issued on 32-bit machines, too, to help prevent
> future problems.

Pointers can be 42.69 bits wide, and the code would still be correct.



Reply via email to