r197301 - [objc] Add a test to make sure that a class can add a secondary initializer via a category
Argyrios Kyrtzidis
akyrtzi at gmail.com
Fri Dec 13 18:16:41 PST 2013
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
+
+ at interface S9 : B1
+-(id)initB1;
+-(id)initB3;
+ at end
+
+ at interface S9(secondInit)
+-(id)initNewOne;
+ at end
+
+ at interface SS9 : S9
+-(id)initB1;
+ at end
+
+ at implementation SS9
+-(id)initB1 { // expected-warning {{designated initializer missing a 'super' call to a designated initializer of the super class}}
+ return 0;
+}
+ at end
More information about the cfe-commits
mailing list