1// RUN: %clang_cc1 -triple x86_64-apple-darwin -Wno-objc-root-class -fobjc-arc -emit-llvm -o - %s | FileCheck %s
2
3// rdar://problem/21054495
4@interface FlexibleArrayMember {
5  char flexible_array[][4][2];
6}
7@end
8@implementation FlexibleArrayMember
9@end
10// CHECK: @OBJC_METH_VAR_NAME_{{.*}} = private unnamed_addr constant {{.*}} c"flexible_array\00"
11// CHECK-NEXT: @OBJC_METH_VAR_TYPE_{{.*}} = private unnamed_addr constant {{.*}} c"^[4[2c]]\00"
12
13
14typedef char FlexibleArray[];
15
16struct Packet {
17  int size;
18  FlexibleArray data;
19};
20
21@interface VariableSizeIvar {
22  struct Packet flexible_struct;
23}
24@end
25@implementation VariableSizeIvar
26@end
27// CHECK: @OBJC_METH_VAR_NAME_{{.*}} = private unnamed_addr constant {{.*}} c"flexible_struct\00"
28// CHECK-NEXT: @OBJC_METH_VAR_TYPE_{{.*}} = private unnamed_addr constant {{.*}} c"{Packet=\22size\22i\22data\22[0c]}\00"
29