1 #
Define gas callbacks
for dg.exp.
5 # The use of this function is still in a bit of flux.
6 # It should be theoretically possible to assemble
, link
, and run a file
7 # but we currently don
't support that. Assembler testcases aren't usually
8 # that elaborate anyway.
:-)
10 proc gas
-dg
-test
{ prog do_what tool_flags
} {
11 # FIXME
: the gas testsuite doesn
't define tmpdir. Use outdir?
12 set output_file "./a.out"
22 # This is the only place where we care if an executable was
23 # created or not. If it was, dg.exp will try to run it.
24 catch "exec rm -f $output_file"
27 perror "$do_what: not a valid dg-do keyword"
32 # gas_start prepends $srcdir/$subdir so we must remove it from PROG
33 # if present. First remove extraneous //'s.
35 set dir "$srcdir/$subdir"
36 regsub
-all
"//" $dir "/" dir
37 regsub
-all
"//" $prog "/" prog
38 if [string match
"$dir/*" $prog] {
39 # We use
(?q
) to treat $
dir as a literal.
40 regsub
"(?q)$dir" $prog "" prog
43 # FIXME
: This should be gas_start but it doesn
't set comp_output.
44 return [gas_run $prog $tool_flags ""]
47 proc gas-dg-prune { system text } {
48 #send_user "Before:$text\n"
49 regsub -all "(^|\n)\[^\n\]*: Assembler messages:\[^\n\]*" $text "" text
50 regsub -all "(^|\n)\[^\n\]*: End of file not at end\[^\n\]*Newline inserted." $text "" text
51 #send_user "After:$text\n"