X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FTableGen%2Fsubst.td;h=34818afaa736d4f00d72ff9fe545a068cb6b4c4b;hb=fd1c9c504318bbe41d43169d3be415bfa978caad;hp=e265b44cf328a60edb83a3050e3451ae1b1f9524;hpb=f38833c7adbdc58b8862835b22b0859c00e6796c;p=oota-llvm.git diff --git a/test/TableGen/subst.td b/test/TableGen/subst.td index e265b44cf32..34818afaa73 100644 --- a/test/TableGen/subst.td +++ b/test/TableGen/subst.td @@ -1,9 +1,5 @@ -// RUN: llvm-tblgen %s | grep "Smith" | count 7 -// RUN: llvm-tblgen %s | grep "Johnson" | count 2 -// RUN: llvm-tblgen %s | grep "FIRST" | count 1 -// RUN: llvm-tblgen %s | grep "LAST" | count 1 -// RUN: llvm-tblgen %s | grep "TVAR" | count 2 -// RUN: llvm-tblgen %s | grep "Bogus" | count 1 +// RUN: llvm-tblgen %s | FileCheck %s +// XFAIL: vg_leak class Honorific { string honorific = t; @@ -27,3 +23,56 @@ def JohnSmith : AName<"FIRST LAST", TVAR>; def JaneSmith : AName<"Jane LAST", Ms>; def JohnSmithJones : AName<"FIRST LAST-Jones", Mr>; def JimmyJohnson : AName<"Jimmy Johnson", Mr>; + +// CHECK: ------------- Classes ----------------- +// CHECK-NEXT: class AName { +// CHECK-NEXT: string name = !subst("FIRST", "John", !subst("LAST", "Smith", AName:name)); +// CHECK-NEXT: Honorific honorific = !subst(TVAR, Mr, AName:honorific); +// CHECK-NEXT: string NAME = ?; +// CHECK-NEXT: } +// CHECK-NEXT: class Honorific { +// CHECK-NEXT: string honorific = Honorific:t; +// CHECK-NEXT: string NAME = ?; +// CHECK-NEXT: } +// CHECK-NEXT: class Name { +// CHECK-NEXT: string name = Name:n; +// CHECK-NEXT: Honorific honorific = Name:t; +// CHECK-NEXT: string NAME = ?; +// CHECK-NEXT: } +// CHECK-NEXT: ------------- Defs ----------------- +// CHECK-NEXT: def JaneSmith { +// CHECK-NEXT: string name = "Jane Smith"; +// CHECK-NEXT: Honorific honorific = Ms; +// CHECK-NEXT: string NAME = ?; +// CHECK-NEXT: } +// CHECK-NEXT: def JimmyJohnson { +// CHECK-NEXT: string name = "Jimmy Johnson"; +// CHECK-NEXT: Honorific honorific = Mr; +// CHECK-NEXT: string NAME = ?; +// CHECK-NEXT: } +// CHECK-NEXT: def JohnSmith { +// CHECK-NEXT: string name = "John Smith"; +// CHECK-NEXT: Honorific honorific = Mr; +// CHECK-NEXT: string NAME = ?; +// CHECK-NEXT: } +// CHECK-NEXT: def JohnSmithJones { +// CHECK-NEXT: string name = "John Smith-Jones"; +// CHECK-NEXT: Honorific honorific = Mr; +// CHECK-NEXT: string NAME = ?; +// CHECK-NEXT: } +// CHECK-NEXT: def Mr +// CHECK-NEXT: string honorific = "Mr."; +// CHECK-NEXT: string NAME = ?; +// CHECK-NEXT: } +// CHECK-NEXT: def Mrs { +// CHECK-NEXT: string honorific = "Mrs."; +// CHECK-NEXT: string NAME = ?; +// CHECK-NEXT: } +// CHECK-NEXT: def Ms { +// CHECK-NEXT: string honorific = "Ms."; +// CHECK-NEXT: string NAME = ?; +// CHECK-NEXT: } +// CHECK-NEXT: def TVAR { +// CHECK-NEXT: string honorific = "Bogus"; +// CHECK-NEXT: string NAME = ?; +// CHECK-NEXT: }