Author: akirtzidis
Date: Fri Dec 13 20:16:41 2013
New Revision: 197301
URL: http://llvm.org/viewvc/llvm-project?rev=197301&view=rev
Log:
[objc] Add a test to make sure that a class can add a secondary initializer via
a category
and still inherit the designated initializers of its super class.
Modified:
cfe/trunk/test/SemaObjC/attr-designated-init.m
Modified: cfe/trunk/test/SemaObjC/attr-designated-init.m
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/attr-designated-init.m?rev=197301&r1=197300&r2=197301&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/attr-designated-init.m (original)
+++ cfe/trunk/test/SemaObjC/attr-designated-init.m Fri Dec 13 20:16:41 2013
@@ -34,7 +34,7 @@ __attribute__((objc_root_class))
__attribute__((objc_root_class))
@interface B1
--(id)initB1 NS_DESIGNATED_INITIALIZER; // expected-note 5 {{method marked as
designated initializer of the class here}}
+-(id)initB1 NS_DESIGNATED_INITIALIZER; // expected-note 6 {{method marked as
designated initializer of the class here}}
-(id)initB2;
-(id)initB3 NS_DESIGNATED_INITIALIZER; // expected-note 3 {{method marked as
designated initializer of the class here}}
@end
@@ -219,3 +219,22 @@ __attribute__((objc_root_class))
return [super init];
}
@end
+
+@interface S9 : B1
+-(id)initB1;
+-(id)initB3;
+@end
+
+@interface S9(secondInit)
+-(id)initNewOne;
+@end
+
+@interface SS9 : S9
+-(id)initB1;
+@end
+
+@implementation SS9
+-(id)initB1 { // expected-warning {{designated initializer missing a 'super'
call to a designated initializer of the super class}}
+ return 0;
+}
+@end
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits