>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 via email to