mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Implement the XTARGET feature for PR1778
This will mark a test as PASS for all targets specified. It will override whatever is in XFAIL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43788 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -104,7 +104,10 @@ proc RunLLVMTests { test_source_files } {
|
|||||||
set filename [file tail $test]
|
set filename [file tail $test]
|
||||||
set outcome PASS
|
set outcome PASS
|
||||||
set tmpFile "$filename.tmp"
|
set tmpFile "$filename.tmp"
|
||||||
|
|
||||||
|
# Mark that it should not be XFAIL for this target.
|
||||||
|
set targetPASS 0
|
||||||
|
|
||||||
#set hasRunline bool to check if testcase has a runline
|
#set hasRunline bool to check if testcase has a runline
|
||||||
set numLines 0
|
set numLines 0
|
||||||
|
|
||||||
@@ -145,12 +148,36 @@ proc RunLLVMTests { test_source_files } {
|
|||||||
#split up target if more then 1 specified
|
#split up target if more then 1 specified
|
||||||
foreach target [split $targets ,] {
|
foreach target [split $targets ,] {
|
||||||
if { [regexp {\*} $target match] } {
|
if { [regexp {\*} $target match] } {
|
||||||
set outcome XFAIL
|
if {$targetPASS != 1} {
|
||||||
|
set outcome XFAIL
|
||||||
|
}
|
||||||
} elseif { [regexp $target $target_triplet match] } {
|
} elseif { [regexp $target $target_triplet match] } {
|
||||||
set outcome XFAIL
|
if {$targetPASS != 1} {
|
||||||
|
set outcome XFAIL
|
||||||
|
}
|
||||||
} elseif { [regexp {llvmgcc(([0-9]+)|([0-9]+[.][0-9]+))} $target match submatch submatch2] } {
|
} elseif { [regexp {llvmgcc(([0-9]+)|([0-9]+[.][0-9]+))} $target match submatch submatch2] } {
|
||||||
if { [regexp ^($submatch)$|^(($submatch)(\.)) $llvmgcc_version match] } {
|
if { [regexp ^($submatch)$|^(($submatch)(\.)) $llvmgcc_version match] } {
|
||||||
set outcome XFAIL
|
if {$targetPASS != 1} {
|
||||||
|
set outcome XFAIL
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} elseif {[regexp {XTARGET:[ *](.+)} $line match targets]} {
|
||||||
|
set targets
|
||||||
|
|
||||||
|
#split up target if more then 1 specified
|
||||||
|
foreach target [split $targets ,] {
|
||||||
|
if { [regexp {\*} $target match] } {
|
||||||
|
set targetPASS 1
|
||||||
|
set outcome PASS
|
||||||
|
} elseif { [regexp $target $target_triplet match] } {
|
||||||
|
set targetPASS 1
|
||||||
|
set outcome PASS
|
||||||
|
} elseif { [regexp {llvmgcc(([0-9]+)|([0-9]+[.][0-9]+))} $target match submatch submatch2] } {
|
||||||
|
if { [regexp ^($submatch)$|^(($submatch)(\.)) $llvmgcc_version match] } {
|
||||||
|
set targetPASS 1
|
||||||
|
set outcome PASS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user