modernc.org/cc@v1.0.1/testdata/gcc-6.3.0/gcc/testsuite/gcc.c-torture/unsorted/dump-noaddr.x (about)

     1  # This checks if -fdump-noaddr dumps are done consistently.
     2  proc dump_compare { src options } {
     3      global srcdir subdir
     4      global tmpdir
     5  
     6      global torture_with_loops
     7      set option_list $torture_with_loops
     8      set dumpbase [file tail $src]
     9  
    10      # loop through all the options
    11      foreach option $option_list {
    12  	file delete -force dump1
    13  	file mkdir 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
    16  	file mkdir 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" ]
    23  	    if { $tmp == 0 } {
    24  		untested "$dumptail, $option comparison"
    25  	    } elseif { $tmp == 1 } {
    26  		pass "$dumptail, $option comparison"
    27  	    } else {
    28  		fail "$dumptail, $option comparison"
    29  	    }
    30  	}
    31      }
    32      file delete -force dump1
    33      file delete -force dump2
    34  }
    35  
    36  dump_compare $src $options
    37  return 1