1 # This checks if -fdump-noaddr dumps are done consistently.
2 proc dump_compare { src options } {
6 global torture_with_loops
7 set option_list $torture_with_loops
8 set dumpbase [file tail $src]
10 # loop through all the options
11 foreach option $option_list {
12 file delete -force dump1
14 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"
15 file delete -force dump2
17 c-torture-compile $src "$option $options -dumpbase dump2/$dumpbase -DMASK=2 -x c -fdump-ipa-all -fdump-rtl-all -fdump-tree-all -fdump-noaddr"
18 foreach dump1 [lsort [glob -nocomplain dump1/*]] {
19 regsub dump1/ $dump1 dump2/ dump2
20 set dumptail "gcc.c-torture/unsorted/[file tail $dump1]"
21 regsub {\.\d+((t|r|i)\.[^.]+)$} $dumptail {.*\1} dumptail
22 set tmp [ diff "$dump1" "$dump2" ]
24 untested "$dumptail, $option comparison"
25 } elseif { $tmp == 1 } {
26 pass "$dumptail, $option comparison"
28 fail "$dumptail, $option comparison"
32 file delete -force dump1
33 file delete -force dump2
36 dump_compare $src $options