// RUN: %target-swift-frontend -assume-parsing-unqualified-ownership-sil -emit-ir %s | %FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-%target-ptrsize

import Swift

// CHECK-64: @_T013indirect_enum5TreeAOWV = internal constant {{.*}} i8* inttoptr ([[WORD:i64]] 8 to i8*), i8* inttoptr (i64 2162695 to i8*), i8* inttoptr (i64 8 to i8*)
// CHECK-32: @_T013indirect_enum5TreeAOWV = internal constant {{.*}} i8* inttoptr ([[WORD:i32]] 4 to i8*), i8* inttoptr (i32 2162691 to i8*), i8* inttoptr (i32 4 to i8*)

// CHECK-LABEL: define{{( protected)?}} private %swift.type** @get_field_types_TreeA
// -- Leaf(T)
// CHECK:         [[BITS:%.*]] = ptrtoint %swift.type* %T to [[WORD]]
// CHECK:         [[INDIRECT_FLAG:%.*]] = or [[WORD]] [[BITS]], 1
// -- Branch(TreeA, TreeA)
// CHECK:         [[TUPLE:%.*]] = call %swift.type* @swift_getTupleTypeMetadata2
// CHECK:         [[BITS:%.*]] = ptrtoint %swift.type* [[TUPLE]]
// CHECK:         [[INDIRECT_FLAG:%.*]] = or [[WORD]] [[BITS]], 1
indirect enum TreeA<T> {
  case Nil
  case Leaf(T)
  case Branch(left: TreeA<T>, right: TreeA<T>)
}

// CHECK-LABEL: define{{( protected)?}} private %swift.type** @get_field_types_TreeB
// -- Leaf(T)
// CHECK-NOT:     ptrtoint %swift.type* %T
// -- Branch(TreeA, TreeA)
// CHECK:         [[TUPLE:%.*]] = call %swift.type* @swift_getTupleTypeMetadata2
// CHECK:         [[BITS:%.*]] = ptrtoint %swift.type* [[TUPLE]]
// CHECK:         [[INDIRECT_FLAG:%.*]] = or [[WORD]] [[BITS]], 1
enum TreeB<T> {
  case Nil
  case Leaf(T)
  indirect case Branch(left: TreeB<T>, right: TreeB<T>)
}

// CHECK-LABEL: define{{( protected)?}} private %swift.type** @get_field_types_Foo
// -- Foo(Int)
// CHECK-64:         (i64 or (i64 ptrtoint (%swift.type* @_T0SiN {{.*}}), [[WORD]] 1)
// CHECK-32:         (i32 or (i32 ptrtoint (%swift.type* @_T0SiN {{.*}}), [[WORD]] 1)
// -- Bar(T)
// CHECK-NOT:     ptrtoint %swift.type* %T
enum Foo<T> {
  indirect case Foo(Int)
  case Bar(T)
}

// rdar://problem/22169679
enum E<T> {
  indirect case A(E)
  case B(T)
}
