@@ -88,6 +88,7 @@ MERGE_CATS-NEXT: name {{.*}} MyProtocol02Prop
88
88
MERGE_CATS - NEXT: attributes {{. * }} Ti , R , D
89
89
MERGE_CATS - NEXT: name {{. * }} MyProtocol03Prop
90
90
MERGE_CATS - NEXT: attributes {{. * }} Ti , R , D
91
+ MERGE_CATS: __OBJC_ $ _CATEGORY_MyBaseClass_ $ _Category04
91
92
92
93
93
94
NO_MERGE_CATS - NOT : __OBJC_ $ _CATEGORY_MyBaseClass(Category02|Category03)
@@ -431,6 +432,15 @@ L_OBJC_IMAGE_INFO:
431
432
## @dynamic MyProtocol03Prop ;
432
433
## @end
433
434
##
435
+ ## // This category shouldn't be merged
436
+ ## @interface MyBaseClass(Category04)
437
+ ## + (void)load ;
438
+ ## @end
439
+ ##
440
+ ## @implementation MyBaseClass(Category04)
441
+ ## + (void)load {}
442
+ ## @end
443
+ ##
434
444
## int main() {
435
445
## return 0 ;
436
446
## }
@@ -493,6 +503,12 @@ L_OBJC_IMAGE_INFO:
493
503
b _OUTLINED_FUNCTION_0
494
504
.cfi_endproc
495
505
; -- End function
506
+ .p2align 2
507
+ "+[MyBaseClass(Category04) load]" :
508
+ .cfi_startproc
509
+ ; %bb.0:
510
+ ret
511
+ .cfi_endproc
496
512
.globl _main ; -- Begin function main
497
513
.p2align 2
498
514
_main: ; @main
@@ -746,11 +762,42 @@ __OBJC_$_CATEGORY_MyBaseClass_$_Category03:
746
762
.quad 0
747
763
.long 64 ; 0x40
748
764
.space 4
765
+ . section __TEXT , __objc_classname , cstring_literals
766
+ l_OBJC_CLASS_NAME_. 15 :
767
+ .asciz "Category04"
768
+ . section __TEXT , __objc_methname , cstring_literals
769
+ l_OBJC_METH_VAR_NAME_. 16 :
770
+ .asciz "load"
771
+ . section __DATA , __objc_const
772
+ .p2align 3 , 0x0
773
+ __OBJC_ $ _CATEGORY_CLASS_METHODS_MyBaseClass_ $ _Category04:
774
+ .long 24
775
+ .long 1
776
+ .quad l_OBJC_METH_VAR_NAME_. 16
777
+ .quad l_OBJC_METH_VAR_TYPE_
778
+ .quad "+[MyBaseClass(Category04) load]"
779
+ .p2align 3 , 0x0
780
+ __OBJC_ $ _CATEGORY_MyBaseClass_ $ _Category04:
781
+ .quad l_OBJC_CLASS_NAME_. 15
782
+ .quad _OBJC_CLASS_ $ _MyBaseClass
783
+ .quad 0
784
+ .quad __OBJC_ $ _CATEGORY_CLASS_METHODS_MyBaseClass_ $ _Category04
785
+ .quad 0
786
+ .quad 0
787
+ .quad 0
788
+ .long 64
789
+ .space 4
749
790
. section __DATA , __objc_catlist , regular , no_dead_strip
750
791
.p2align 3 , 0x0 ; @"OBJC_LABEL_CATEGORY_$"
751
792
l_OBJC_LABEL_CATEGORY_$:
752
793
.quad __OBJC_ $ _CATEGORY_MyBaseClass_ $ _Category02
753
794
.quad __OBJC_ $ _CATEGORY_MyBaseClass_ $ _Category03
795
+ .quad __OBJC_ $ _CATEGORY_MyBaseClass_ $ _Category04
796
+ . section __DATA , __objc_nlcatlist , regular , no_dead_strip
797
+ .p2align 3 , 0x0
798
+ l_OBJC_LABEL_NONLAZY_CATEGORY_$:
799
+ .quad __OBJC_ $ _CATEGORY_MyBaseClass_ $ _Category04
800
+
754
801
.no_dead_strip __OBJC_LABEL_PROTOCOL_ $ _MyProtocol02
755
802
.no_dead_strip __OBJC_LABEL_PROTOCOL_ $ _MyProtocol03
756
803
.no_dead_strip __OBJC_PROTOCOL_ $ _MyProtocol02
0 commit comments