>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.