1// RUN: llvm-tblgen %s 2 3class ConstantsImpl { 4 int Zero = 0; 5 int One = 1; 6 int Two = 2; 7 int Three = 3; 8 int Five = 5; 9} 10 11def Constants : ConstantsImpl; 12 13// CHECK-DAG: def var_bound_whitespaceA0 14// CHECK-DAG: def var_bound_whitespaceA1 15// CHECK-DAG: def var_bound_whitespaceA2 16foreach Index = Constants.Zero ... Constants.Two in { 17 def var_bound_whitespaceA#Index; 18} 19 20// CHECK-DAG: def var_bound_whitespaceB0 21// CHECK-DAG: def var_bound_whitespaceB1 22// CHECK-DAG: def var_bound_whitespaceB2 23foreach Index = Constants.Zero...Constants.Two in { 24 def var_bounds_whitespaceB#Index; 25} 26 27// CHECK-DAG: def var_bound_whitespaceC0 28// CHECK-DAG: def var_bound_whitespaceC1 29// CHECK-DAG: def var_bound_whitespaceC2 30foreach Index = Constants.Zero ...Constants.Two in { 31 def var_bounds_whitespaceC#Index; 32} 33 34// CHECK-DAG: def var_bound_whitespaceD0 35// CHECK-DAG: def var_bound_whitespaceD1 36// CHECK-DAG: def var_bound_whitespaceD2 37foreach Index = Constants.Zero... Constants.Two in { 38 def var_bounds_whitespaceD#Index; 39} 40 41// CHECK-DAG: def const_lower_whitespaceA0 42// CHECK-DAG: def const_lower_whitespaceA1 43// CHECK-DAG: def const_lower_whitespaceA2 44foreach Index = 0 ... Constants.Two in { 45 def const_lower_whitespaceA#Index; 46} 47 48// CHECK-DAG: def const_lower_whitespaceB0 49// CHECK-DAG: def const_lower_whitespaceB1 50// CHECK-DAG: def const_lower_whitespaceB2 51foreach Index = 0...Constants.Two in { 52 def const_lower_whitespaceB#Index; 53} 54 55// CHECK-DAG: def const_lower_whitespaceC0 56// CHECK-DAG: def const_lower_whitespaceC1 57// CHECK-DAG: def const_lower_whitespaceC2 58foreach Index = 0 ...Constants.Two in { 59 def const_lower_whitespaceC#Index; 60} 61 62// CHECK-DAG: def const_lower_whitespaceD0 63// CHECK-DAG: def const_lower_whitespaceD1 64// CHECK-DAG: def const_lower_whitespaceD2 65foreach Index = 0... Constants.Two in { 66 def const_lower_whitespaceD#Index; 67} 68 69// CHECK-DAG: def const_upper_whitespaceA0 70// CHECK-DAG: def const_upper_whitespaceA1 71// CHECK-DAG: def const_upper_whitespaceA2 72foreach Index = Constants.Zero ... 2 in { 73 def const_upper_whitespaceA#Index; 74} 75 76// CHECK-DAG: def const_upper_whitespaceB0 77// CHECK-DAG: def const_upper_whitespaceB1 78// CHECK-DAG: def const_upper_whitespaceB2 79foreach Index = Constants.Zero...2 in { 80 def const_upper_whitespaceB#Index; 81} 82 83// CHECK-DAG: def const_upper_whitespaceC0 84// CHECK-DAG: def const_upper_whitespaceC1 85// CHECK-DAG: def const_upper_whitespaceC2 86foreach Index = Constants.Zero ...2 in { 87 def const_upper_whitespaceC#Index; 88} 89 90// CHECK-DAG: def const_upper_whitespaceD0 91// CHECK-DAG: def const_upper_whitespaceD1 92// CHECK-DAG: def const_upper_whitespaceD2 93foreach Index = Constants.Zero... 2 in { 94 def const_upper_whitespaceD#Index; 95} 96 97// CHECK-DAG: def multi_rangeA0 98// CHECK-DAG: def multi_rangeA1 99// CHECK-DAG: def multi_rangeA2 100// CHECK-DAG: def multi_rangeA3 101foreach Index = {Constants.Zero...Constants.One, Constants.Two...Constants.Three} in { 102 def multi_rangeA#Index; 103} 104 105// CHECK-DAG: def multi_rangeB0 106// CHECK-DAG: def multi_rangeB1 107// CHECK-DAG: def multi_rangeB3 108// CHECK-DAG: def multi_rangeB4 109// CHECK-DAG: def multi_rangeB5 110foreach Index = {0...Constants.One, Constants.Three...Constants.Five} in { 111 def multi_rangeB#Index; 112} 113 114// CHECK-DAG: def multi_rangeC0 115// CHECK-DAG: def multi_rangeC1 116// CHECK-DAG: def multi_rangeC2 117// CHECK-DAG: def multi_rangeC3 118foreach Index = {0...Constants.One, 2...Constants.Three} in { 119 def multi_rangeC#Index; 120} 121 122// CHECK-DAG: def multi_rangeD0 123// CHECK-DAG: def multi_rangeD1 124// CHECK-DAG: def multi_rangeD2 125// CHECK-DAG: def multi_rangeD3 126foreach Index = {0...1, Constants.Two...3} in { 127 def multi_rangeD#Index; 128} 129