*** /home/bmh/dg/dejagnu-1.4.4/lib/dg.exp 2003-08-23 07:57:48.000000000 +0200 --- ./dg.exp 2005-01-05 00:30:28.000000000 +0100 *************** *** 35,41 **** # dg-options "options ..." [{ target selector }] # specify special options to pass to the tool (eg: compiler) # ! # dg-do do-what-keyword [{ target/xfail selector }] # `do-what-keyword' is tool specific and is passed unchanged to # ${tool}-dg-test. An example is gcc where `keyword' can be any of: # preprocess|compile|assemble|link|run --- 35,41 ---- # dg-options "options ..." [{ target selector }] # specify special options to pass to the tool (eg: compiler) # ! # dg-do do-what-keyword [{ target/xfail/skip selector }] # `do-what-keyword' is tool specific and is passed unchanged to # ${tool}-dg-test. An example is gcc where `keyword' can be any of: # preprocess|compile|assemble|link|run *************** *** 205,216 **** # # Process optional xfail/target arguments # ! # SELECTOR is "xfail target-triplet-1 ..." or "target target-triplet-1 ..." ! # `target-triplet' may be "native". # For xfail, the result is "F" (expected to Fail) if the current target is # affected, otherwise "P" (expected to Pass). # For target, the result is "S" (target is Selected) if the target is selected, ! # otherwise "N" (target is Not selected). # proc dg-process-target { selector } { global target_triplet --- 205,218 ---- # # Process optional xfail/target arguments # ! # SELECTOR is "xfail target-triplet-1 ...", "skip target-triplet-1 ..." ! # or "target target-triplet-1 ..." . `target-triplet' may be "native". # For xfail, the result is "F" (expected to Fail) if the current target is # affected, otherwise "P" (expected to Pass). + # For skip, the result is "N" (unsupported test) if the current target is affected. + # otherwise "P" (expected to Pass). # For target, the result is "S" (target is Selected) if the target is selected, ! # otherwise "N" (target is not selected). # proc dg-process-target { selector } { global target_triplet *************** *** 223,228 **** --- 225,232 ---- set selector [string trim $selector] if [regexp "^xfail " $selector] { set what xfail + } elseif [regexp "^skip " $selector] { + set what skip } elseif [regexp "^target " $selector] { set what target } else { *************** *** 248,256 **** } if { $triplet_match } { ! return [expr { $what == "xfail" ? "F" : "S" }] } else { ! return [expr { $what == "xfail" ? "P" : "N" }] } } --- 252,272 ---- } if { $triplet_match } { ! if {$what == "xfail"} { ! return "F" ! } elseif {$what == "skip"} { ! return "N" ! } else { ! return "S" ! } } else { ! if {$what == "xfail"} { ! return "P" ! } elseif {$what == "skip"} { ! return "P" ! } else { ! return "N" ! } } } *************** *** 707,712 **** --- 723,729 ---- # If we're not supposed to try this test on this target, we're done. if { [lindex ${dg-do-what} 1] == "N" } { + # puts ${dg-do-what} unsupported "$name" verbose "$name not supported on this target, skipping it" 3 return *************** *** 820,827 **** setup_xfail "*-*-*" } if ![string match "" $comp_output] { ! fail "$name (test for excess errors)" ! send_log "Excess errors:\n$comp_output\n" } else { pass "$name (test for excess errors)" } --- 837,850 ---- setup_xfail "*-*-*" } if ![string match "" $comp_output] { ! if {[lindex ${dg-do-what} 2] == "F"} { ! #puts ${dg-do-what} ! xfail "$name (test for excess errors)" ! } else { ! #puts ${dg-do-what} ! fail "$name (test for excess errors)" ! send_log "Excess errors:\n$comp_output\n" ! } } else { pass "$name (test for excess errors)" }