1 ; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s 2 3 %rt1 = type { i32, { i8, %rt2, i8 }, i32 } 4 %rt2 = type { i64, { i6, %rt3 } } 5 %rt3 = type { %rt1 } 6 7 define i32 @main() nounwind { 8 entry: 9 ; Check that mutually recursive types trigger an error instead of segfaulting, 10 ; when the recursion isn't through a pointer to the type. 11 ; CHECK: Cannot allocate unsized type 12 %0 = alloca %rt2 13 ret i32 0 14 } 15