blob: 0e4298ad3d7dc4a5c873e501520dbd4609289ccf [file] [log] [blame]
# This checks if -fdump-noaddr dumps are done consistently.
proc dump_compare { src options } {
global srcdir subdir
global tmpdir
global torture_with_loops
set option_list $torture_with_loops
set dumpbase [file tail $src]
# loop through all the options
foreach option $option_list {
file delete -force $tmpdir/dump1
file mkdir $tmpdir/dump1
c-torture-compile $src "$option $options -dumpbase dump1/$dumpbase -DMASK=1 -x c --param ggc-min-heapsize=1 -fdump-ipa-all -fdump-rtl-all -fdump-tree-all -fdump-noaddr -gno-record-gcc-switches"
file delete -force $tmpdir/dump2
file mkdir $tmpdir/dump2
c-torture-compile $src "$option $options -dumpbase dump2/$dumpbase -DMASK=2 -x c -fdump-ipa-all -fdump-rtl-all -fdump-tree-all -fdump-noaddr -gno-record-gcc-switches"
foreach dump1 [lsort [glob -nocomplain $tmpdir/dump1/*]] {
set dump2 "$tmpdir/dump2/[file tail $dump1]"
set dumptail "gcc.c-torture/unsorted/[file tail $dump1]"
regsub {\.\d+((t|r|i)\.[^.]+)$} $dumptail {.*\1} dumptail
set tmp [ diff "$dump1" "$dump2" ]
if { $tmp == 0 } {
untested "$dumptail, $option comparison"
} elseif { $tmp == 1 } {
pass "$dumptail, $option comparison"
} else {
fail "$dumptail, $option comparison"
}
}
}
file delete -force $tmpdir/dump1
file delete -force $tmpdir/dump2
}
dump_compare $src $options
return 1