Feature request: gcc should warn upon conversions ptrdiff_t -> int
>Submitter-Id: net
>Originator: Matteo Frigo
>Organization: lost during childhood
>Confidential: no
>Synopsis: Feature request: gcc should warn upon conversions ptrdiff_t -> int
>Severity: non-critical
>Priority: low
>Category: c
>Class: change-request
>Release: 3.3 (Debian) (Debian testing/unstable)
>Environment:
System: Linux glauke 2.4.20 #1 Tue Apr 8 17:47:23 EDT 2003 ppc GNU/Linux
Architecture: ppc
host: powerpc-unknown-linux-gnu
build: powerpc-unknown-linux-gnu
target: powerpc-unknown-linux-gnu
configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc --disable-multilib powerpc-linux
>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;
}
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.
Reply to: