[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: