[llvm-commits] [llvm] r43788 - /llvm/trunk/test/lib/llvm.exp

Tanya Lattner tonic at nondot.org
Tue Nov 6 14:32:17 PST 2007


Author: tbrethou
Date: Tue Nov  6 16:32:17 2007
New Revision: 43788

URL: http://llvm.org/viewvc/llvm-project?rev=43788&view=rev
Log:
Implement the XTARGET feature for PR1778
This will mark a test as PASS for all targets specified. It will override whatever is in XFAIL.

Modified:
    llvm/trunk/test/lib/llvm.exp

Modified: llvm/trunk/test/lib/llvm.exp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/lib/llvm.exp?rev=43788&r1=43787&r2=43788&view=diff

==============================================================================
--- llvm/trunk/test/lib/llvm.exp (original)
+++ llvm/trunk/test/lib/llvm.exp Tue Nov  6 16:32:17 2007
@@ -104,7 +104,10 @@
     set filename [file tail $test]
     set outcome PASS
     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 numLines 0
 
@@ -145,12 +148,36 @@
         #split up target if more then 1 specified
         foreach target [split $targets ,] {
           if { [regexp {\*} $target match] } {
-              set outcome XFAIL
+              if {$targetPASS != 1} {
+                 set outcome XFAIL
+              }
+          } elseif { [regexp $target $target_triplet match] } {
+              if {$targetPASS != 1} {
+                 set outcome XFAIL
+              }
+          } elseif { [regexp {llvmgcc(([0-9]+)|([0-9]+[.][0-9]+))} $target match submatch submatch2]  } {
+            if { [regexp ^($submatch)$|^(($submatch)(\.)) $llvmgcc_version match] } {
+              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 outcome XFAIL
+              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 outcome XFAIL
+              set targetPASS 1
+              set outcome PASS
             }
           }
         }





More information about the llvm-commits mailing list