25 lines
740 B
Tcl
25 lines
740 B
Tcl
|
#!/usr/bin/tclsh
|
||
|
#
|
||
|
# A wrapper around cg_annotate that sets appropriate command-line options
|
||
|
# and rearranges the output so that annotated files occur in a consistent
|
||
|
# sorted order. Used by the run-speed-test.tcl script.
|
||
|
#
|
||
|
|
||
|
set in [open "|cg_annotate --show=Ir --auto=yes --context=40 $argv" r]
|
||
|
set dest !
|
||
|
set out(!) {}
|
||
|
while {![eof $in]} {
|
||
|
set line [string map {\t { }} [gets $in]]
|
||
|
if {[regexp {^-- Auto-annotated source: (.*)} $line all name]} {
|
||
|
set dest $name
|
||
|
} elseif {[regexp {^-- line \d+ ------} $line]} {
|
||
|
set line [lreplace $line 2 2 {#}]
|
||
|
} elseif {[regexp {^The following files chosen for } $line]} {
|
||
|
set dest !
|
||
|
}
|
||
|
append out($dest) $line\n
|
||
|
}
|
||
|
foreach x [lsort [array names out]] {
|
||
|
puts $out($x)
|
||
|
}
|