xref: /llvm-project/llvm/test/TableGen/string_ops.td (revision d612a75279250b2816e06fcf9b9770575946ad69)
1// RUN: llvm-tblgen %s | FileCheck %s
2
3class ToLower<string str> {
4  string s = !tolower(str);
5}
6
7class ToUpper<string str> {
8  string s = !toupper(str);
9}
10
11// CHECK-LABEL: def LOWER1 {
12// CHECK: string s = "str";
13// CHECK: }
14def LOWER1: ToLower<"STR">;
15
16// CHECK-LABEL: def LOWER2 {
17// CHECK: string s = "str";
18// CHECK: }
19def LOWER2 : ToLower<"Str">;
20
21// CHECK-LABEL: def LOWER3 {
22// CHECK: string s = "str";
23// CHECK: }
24def LOWER3 : ToLower<"STr">;
25
26// CHECK-LABEL: def UPPER1 {
27// CHECK: string s = "STR";
28// CHECK: }
29def UPPER1 : ToUpper<"str">;
30
31// CHECK-LABEL: def UPPER2 {
32// CHECK: string s = "STR";
33// CHECK: }
34def UPPER2 : ToUpper<"sTr">;
35
36// CHECK-LABEL: def UPPER3 {
37// CHECK: string s = "STR";
38// CHECK: }
39def UPPER3 : ToUpper<"sTR">;