From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6750 invoked by alias); 8 Feb 2006 01:10:06 -0000 Received: (qmail 6684 invoked by uid 48); 8 Feb 2006 01:10:01 -0000 Date: Wed, 08 Feb 2006 01:10:00 -0000 Subject: [Bug c++/26167] New: -Wconversion fails to detect signedness conversion from int to unsigned int in fuction call X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "kristian dot hermansen at gmail dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-02/txt/msg00717.txt.bz2 List-Id: gcc reports the signedness probelm correctly, but g++ does not. See below for a demonstration: $ cat signedness.cpp #include using namespace std; void foo (unsigned int a){ cout << a << endl; } int main(){ int b = -1; foo (b); return 0; } $ g++ -Wall -Wconversion -o signedness signedness.cpp ### NO WARNINGS ARE OUTPUT HERE FROM g++ ### $ g++ -v -save-temps -Wall -Wconversion -o signedness signedness.cpp Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr --with-gxx-include-dir=/usr/include/c++/4.0.2 --enable-shared --with-system-zlib --libexecdir=/usr/lib --enable-nls --without-included-gettext --enable-threads=posix --program-suffix=-4.0 --enable-__cxa_atexit --enable-libstdcxx-allocator=mt --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-gc=boehm --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr --disable-werror --enable-checking=release i486-linux-gnu Thread model: posix gcc version 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9) /usr/lib/gcc/i486-linux-gnu/4.0.2/cc1plus -E -quiet -v -D_GNU_SOURCE signedness.cpp -mtune=i486 -Wall -Wconversion -fpch-preprocess -o signedness.ii ignoring nonexistent directory "/usr/local/include/i486-linux-gnu" ignoring nonexistent directory "/usr/include/i486-linux-gnu" #include "..." search starts here: #include <...> search starts here: /usr/include/c++/4.0.2 /usr/include/c++/4.0.2/i486-linux-gnu /usr/include/c++/4.0.2/backward /usr/local/include /usr/lib/gcc/i486-linux-gnu/4.0.2/include /usr/include End of search list. /usr/lib/gcc/i486-linux-gnu/4.0.2/cc1plus -fpreprocessed signedness.ii -quiet -dumpbase signedness.cpp -mtune=i486 -auxbase signedness -Wall -Wconversion -version -o signedness.s GNU C++ version 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9) (i486-linux-gnu) compiled by GNU C version 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9). GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128479 as -V -Qy --32 -o signedness.o signedness.s GNU assembler version 2.16.1 (i486-linux-gnu) using BFD version 2.16.1 Debian GNU/Linux /usr/lib/gcc/i486-linux-gnu/4.0.2/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o signedness /usr/lib/gcc/i486-linux-gnu/4.0.2/../../../../lib/crt1.o /usr/lib/gcc/i486-linux-gnu/4.0.2/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.0.2/crtbegin.o -L/usr/lib/gcc/i486-linux-gnu/4.0.2 -L/usr/lib/gcc/i486-linux-gnu/4.0.2 -L/usr/lib/gcc/i486-linux-gnu/4.0.2/../../../../lib -L/usr/lib/gcc/i486-linux-gnu/4.0.2/../../.. -L/lib/../lib -L/usr/lib/../lib signedness.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/i486-linux-gnu/4.0.2/crtend.o /usr/lib/gcc/i486-linux-gnu/4.0.2/../../../../lib/crtn.o -- Kristian Hermansen -- Summary: -Wconversion fails to detect signedness conversion from int to unsigned int in fuction call Product: gcc Version: 4.0.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kristian dot hermansen at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26167