This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 0/4] bitpos expansion summary reloaded


On Sun, 30 Sep 2012 08:52:11 +0200, Jan wrote:
> Or gcc with -Wconversion:
> t.c: In function âmainâ:
> t.c:5:3: warning: conversion to âintâ from âlong intâ may alter its
> value [-Wconversion] t.c:6:24: warning: conversion to âintâ from
> âlong intâ may alter its value [-Wconversion]

I played around with this briefly today and there seem to be an
additional 175 warnings that gcc finds and splint doesn't on x86_64.
Here's how I've gone about it:

First, I configured gdb as:

CC="gcc -Wconversion -Wno-sign-conversion" \
CXX="g++ -Wconversion -Wno-sign-conversion" \
../gdb.git/configure --enable-targets=all --disable-werror

So that I get only the truncation warnings and none of the sign
conversion ones.

I built the master and bitpos-expand branches (the latter being the one
with my patches):

make 2> build-warnings.out

and then filtered only the "warning: " lines.

I then processed the two files with this wonderful looking command:

diff -u build-master.out build-bitpos.out |
	perl -e 'while(<>){s{^(.)(.*)}{print "$2$1\n"}egm}' | sort |
	perl -e 'while(<>){s{^([^\]]+\])(.)$}{print "$2$1\n"}egm}' |
	grep "^[-+]" | ./checkreport2.pl | grep -v "^----" |
	grep -v "^+++" | grep "^+" |
	perl -e \
	'while(<>){s{^([^\/]+/)+([^:]+:[^:]+):.*}{print "$2\n"}egm}' |
	while read loc; do
		grep -q "$loc" splint-bitpos3.locdiff.processed
		if [ $? -eq 0 ]; then
			echo "FOUND: $loc"
		else
			echo "NOTFOUND: $loc"
		fi
	done |
	grep "^NOTFOUND"

The checkreport2.pl is attached.  I'll look through this list and see
if any of the warnings are relevant.

Regards,
Siddhesh

Attachment: checkreport2.pl
Description: Perl program


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]