llvm-project

Форк
0
/
ivar-layout-flexible-array.m 
27 строк · 834.0 Байт
1
// RUN: %clang_cc1 -triple x86_64-apple-darwin -Wno-objc-root-class -fobjc-arc -emit-llvm -o - %s | FileCheck %s
2

3
@interface FlexibleArrayMember {
4
  char flexible_array[][4][2];
5
}
6
@end
7
@implementation FlexibleArrayMember
8
@end
9
// CHECK: @OBJC_METH_VAR_NAME_{{.*}} = private unnamed_addr constant {{.*}} c"flexible_array\00"
10
// CHECK-NEXT: @OBJC_METH_VAR_TYPE_{{.*}} = private unnamed_addr constant {{.*}} c"^[4[2c]]\00"
11

12

13
typedef char FlexibleArray[];
14

15
struct Packet {
16
  int size;
17
  FlexibleArray data;
18
};
19

20
@interface VariableSizeIvar {
21
  struct Packet flexible_struct;
22
}
23
@end
24
@implementation VariableSizeIvar
25
@end
26
// CHECK: @OBJC_METH_VAR_NAME_{{.*}} = private unnamed_addr constant {{.*}} c"flexible_struct\00"
27
// CHECK-NEXT: @OBJC_METH_VAR_TYPE_{{.*}} = private unnamed_addr constant {{.*}} c"{Packet=\22size\22i\22data\22[0c]}\00"
28

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.