This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/23587] New: Missing "warning: comparison is always false due to limited range of data type"
- From: "v dot haisman at sh dot cvut dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Aug 2005 00:11:01 -0000
- Subject: [Bug c++/23587] New: Missing "warning: comparison is always false due to limited range of data type"
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The following test warns about the comparison being always true only for two of
the six tests:
#include <cstdlib>
void a (unsigned char x)
{
if (x < 0)
abort ();
}
void b (unsigned short x)
{
if (x < 0)
abort ();
}
void c (unsigned int x)
{
if (x < 0)
abort ();
}
void d (unsigned long x)
{
if (x < 0)
abort ();
}
void e (unsigned long long x)
{
if (x < 0)
abort ();
}
void f (size_t x)
{
if (x < 0)
abort ();
}
wilx@logout:::~/tmp> g++ -save-temps -fverbose-asm -O3 -c test.cxx
test.cxx: In function 'void a(unsigned char)':
test.cxx:5: warning: comparison is always false due to limited range of data type
test.cxx: In function 'void b(short unsigned int)':
test.cxx:11: warning: comparison is always false due to limited range of data type
wilx@logout:::~/tmp> g++ -v
Using built-in specs.
Target: i386-unknown-freebsd4.10
Configured with: ../srcdir/configure --disable-nls
--enable-version-specific-runtime-libs --enable-dwarf2 --with-cpu=pentium3
--with-arch=pentium3 --with-system-zlib --disable-shared --prefix=/home/4/wilx
--enable-languages=c,c++,objc,ada --disable-sjlj-exceptions
--enable-shared=libstdc++ --enable-shared=libobjc
Thread model: posix
gcc version 4.1.0 20050821 (experimental)
--
Summary: Missing "warning: comparison is always false due to
limited range of data type"
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: v dot haisman at sh dot cvut dot cz
CC: gcc-bugs at gcc dot gnu dot org,v dot haisman at sh dot
cvut dot cz
GCC build triplet: i386-unknown-freebsd4.10
GCC host triplet: i386-unknown-freebsd4.10
GCC target triplet: i386-unknown-freebsd4.10
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23587