// 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 class Honorific { string honorific = t; } def Mr : Honorific<"Mr.">; def Ms : Honorific<"Ms.">; def Mrs : Honorific<"Mrs.">; def TVAR : Honorific<"Bogus">; class Name { string name = n; Honorific honorific = t; } class AName : Name; 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>;