36 lines · plain
1// RUN: %clang_cc1 -E %s -o %t.mm2// RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc %t.mm -o - | FileCheck %s 3 4@interface Root @end5 6@interface Super : Root7@end8 9@interface Sub : Super10@end11 12@implementation Sub @end13 14@implementation Root @end15 16@interface Root(Cat) @end17 18@interface Sub(Cat) @end19 20@implementation Root(Cat) @end21 22@implementation Sub(Cat) @end23 24 25// CHECK: #pragma section(".objc_inithooks$B", long, read, write)26// CHECK: __declspec(allocate(".objc_inithooks$B")) static void *OBJC_CLASS_SETUP[] = {27// CHECK: (void *)&OBJC_CLASS_SETUP_$_Sub,28// CHECK: (void *)&OBJC_CLASS_SETUP_$_Root,29// CHECK: };30 31// CHECK: #pragma section(".objc_inithooks$B", long, read, write)32// CHECK: __declspec(allocate(".objc_inithooks$B")) static void *OBJC_CATEGORY_SETUP[] = {33// CHECK: (void *)&OBJC_CATEGORY_SETUP_$_Root_$_Cat,34// CHECK: (void *)&OBJC_CATEGORY_SETUP_$_Sub_$_Cat,35// CHECK: };36