From: Julian Seward Date: Tue, 12 Sep 2006 21:09:17 +0000 (+0000) Subject: Merge r6044 (callgrind: fix annotate script for data produced with X-Git-Tag: svn/VALGRIND_3_2_1~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fe9a94cbda765bf63333adfdf6b7c2f0914713df;p=thirdparty%2Fvalgrind.git Merge r6044 (callgrind: fix annotate script for data produced with --dump-instr=yes) (JosefW) git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_2_BRANCH@6056 --- diff --git a/callgrind/callgrind_annotate.in b/callgrind/callgrind_annotate.in index 617354d194..859d51a96b 100644 --- a/callgrind/callgrind_annotate.in +++ b/callgrind/callgrind_annotate.in @@ -483,6 +483,7 @@ sub read_input_file() my $curr_fn; my $curr_name; my $curr_line_num = 0; + my $prev_line_num = 0; my $curr_cobj = ""; my $curr_cfile = ""; @@ -496,17 +497,19 @@ sub read_input_file() # Read body of input file. while () { + $prev_line_num = $curr_line_num; + s/#.*$//; # remove comments - s/^\+(\d+)/$curr_line_num+$1/e; - s/^\-(\d+)/$curr_line_num-$1/e; - s/^\*/$curr_line_num/e; - if (s/^(\d+|0x\w+)\s+//) { + s/^\+(\d+)/$prev_line_num+$1/e; + s/^\-(\d+)/$prev_line_num-$1/e; + s/^\*/$prev_line_num/e; + if (s/^(-?\d+|0x\w+)\s+//) { $curr_line_num = $1; if ($has_addr) { if ($has_line) { - s/^\+(\d+)/$curr_line_num+$1/e; - s/^\-(\d+)/$curr_line_num-$1/e; - s/^\*/$curr_line_num/e; + s/^\+(\d+)/$prev_line_num+$1/e; + s/^\-(\d+)/$prev_line_num-$1/e; + s/^\*/$prev_line_num/e; if (s/^(\d+)\s+//) { $curr_line_num = $1; } }