view gcc/testsuite/gcc.c-torture/unsorted/dump-noaddr.x @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 84e7813d76e9
children
line wrap: on
line source

# 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