// RUN: llvm-tblgen %s | FileCheck %s

class Droid<string series, int release, string model, int patchlevel> {
  string Series = series;
  int Release = release;
  string Model = model;
  int Patchlevel = patchlevel;
}

foreach S = ["R", "C"] in {
  foreach R = [2, 3, 4] in {
    foreach M = ["D", "P", "Q"] in {
      foreach P = [0, 2, 4] in {
        def S#R#M#P : Droid<S, R, M, P>;
      }
    }
  }
}

foreach i = [0, 1] in
  foreach j = !foreach(x, [0, 2], !add(i, x)) in
    def Z#i#_#j;

// CHECK: def C2D0
// CHECK: def C2D2
// CHECK: def C2D4
// CHECK: def C2P0
// CHECK: def C2P2
// CHECK: def C2P4
// CHECK: def C2Q0
// CHECK: def C2Q2
// CHECK: def C2Q4
// CHECK: def C3D0
// CHECK: def C3D2
// CHECK: def C3D4
// CHECK: def C3P0
// CHECK: def C3P2
// CHECK: def C3P4
// CHECK: def C3Q0
// CHECK: def C3Q2
// CHECK: def C3Q4
// CHECK: def C4D0
// CHECK: def C4D2
// CHECK: def C4D4
// CHECK: def C4P0
// CHECK: def C4P2
// CHECK: def C4P4
// CHECK: def C4Q0
// CHECK: def C4Q2
// CHECK: def C4Q4
// CHECK: def R2D0
// CHECK: def R2D2
// CHECK: def R2D4
// CHECK: def R2P0
// CHECK: def R2P2
// CHECK: def R2P4
// CHECK: def R2Q0
// CHECK: def R2Q2
// CHECK: def R2Q4
// CHECK: def R3D0
// CHECK: def R3D2
// CHECK: def R3D4
// CHECK: def R3P0
// CHECK: def R3P2
// CHECK: def R3P4
// CHECK: def R3Q0
// CHECK: def R3Q2
// CHECK: def R3Q4
// CHECK: def R4D0
// CHECK: def R4D2
// CHECK: def R4D4
// CHECK: def R4P0
// CHECK: def R4P2
// CHECK: def R4P4
// CHECK: def R4Q0
// CHECK: def R4Q2
// CHECK: def R4Q4

// CHECK: def Z0_0
// CHECK: def Z0_2
// CHECK: def Z1_1
// CHECK: def Z1_3
