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