The recent implementation of comparing expected diff checksum had a problem: different configs generate different assembly (and although the diff itself was still the same in both case, the actual differences were on different lines; thus the checksum of the diff was different).
Added logic to only diff on the actual differences. Couldn't find a good TCL solution... had to revert to using 'exec grep', if anyone has a good solution, I'm willing to change it... I also made a small modification to break down a line that was accidently longer than 80 columns in a previous checkin. Tested with pph regression testing. Gab diff --git a/gcc/testsuite/ChangeLog.pph b/gcc/testsuite/ChangeLog.pph index 7ffeaf2..c90ab86 100644 --- a/gcc/testsuite/ChangeLog.pph +++ b/gcc/testsuite/ChangeLog.pph @@ -1,3 +1,10 @@ +2011-07-22 Gabriel Charette <gch...@google.com> + + * g++.dg/pph/c1eabi1.cc: Change expected diff checksum. + * g++.dg/pph/p4eabi1.cc: Change expected diff checksum. + * lib/dg-pph.exp (dg-pph-pos): Ignore line numbers in diff checksum. + Split long output message, using sumMessage, to respect 80 cols limit. + 2011-07-18 Gabriel Charette <gch...@google.com> * lib/dg-pph.exp (dg-pph-pos): Output actualSum on unexpected diff. diff --git a/gcc/testsuite/g++.dg/pph/c1eabi1.cc b/gcc/testsuite/g++.dg/pph/c1eabi1.cc index 3321870..d26900f 100644 --- a/gcc/testsuite/g++.dg/pph/c1eabi1.cc +++ b/gcc/testsuite/g++.dg/pph/c1eabi1.cc @@ -1,5 +1,5 @@ // { dg-options "-w -fpermissive" } -// pph asm xdiff 36206 +// pph asm xdiff 60950 #include "c0eabi1.h" diff --git a/gcc/testsuite/g++.dg/pph/p4eabi1.cc b/gcc/testsuite/g++.dg/pph/p4eabi1.cc index 2f0715f..9b4739e 100644 --- a/gcc/testsuite/g++.dg/pph/p4eabi1.cc +++ b/gcc/testsuite/g++.dg/pph/p4eabi1.cc @@ -1,5 +1,5 @@ // { dg-options "-w -fpermissive" } -// pph asm xdiff 15662 +// pph asm xdiff 06317 #include "p4eabi1.h" diff --git a/gcc/testsuite/lib/dg-pph.exp b/gcc/testsuite/lib/dg-pph.exp index 013ccfe..677fcd7 100644 --- a/gcc/testsuite/lib/dg-pph.exp +++ b/gcc/testsuite/lib/dg-pph.exp @@ -142,13 +142,18 @@ proc dg-pph-pos { subdir test options mapflag suffix } { file_on_host delete "$bname.s+pph" } elseif { $adiff == 1 } { verbose -log "Diff obtained:\n$diff_result" - set actualSum [lindex [split [exec sum << $diff_result] " "] 0] + + #only checksum on the actual differences, ignore line numbers + set checksumed_diff [exec grep -E "^(<|>).*" << $diff_result] + verbose -log "Diff checksumed:\n$checksumed_diff" + set actualSum [lindex [split [exec sum << $checksumed_diff] " "] 0] if { $xdiff } { set expectedSum [lindex [split $xdiff_entry " \}"] 3] if { $expectedSum == $actualSum } { xfail "$nshort $options (assembly comparison)" } else { - fail "$nshort $options (assembly comparison, sums $expectedSum=>$actualSum)" + set sumMessage "sums $expectedSum=>$actualSum" + fail "$nshort $options (assembly comparison, $sumMessage)" } } else { fail "$nshort $options (assembly comparison, sum=$actualSum)" -- This patch is available for review at http://codereview.appspot.com/4800046