]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Rewriter/rewrite-super-message.mm
Vendor import of clang trunk r154661:
[FreeBSD/FreeBSD.git] / test / Rewriter / rewrite-super-message.mm
1 // RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-fragile-abi %s -o %t-rw.cpp
2 // RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -DKEEP_ATTRIBUTES -D"id=struct objc_object *" -D"Class=struct objc_class *" -D"SEL=void*" -D"__declspec(X)=" -emit-llvm -o - %t-rw.cpp | FileCheck %t-rw.cpp
3 // radar 7738453
4
5 void *sel_registerName(const char *);
6
7 @interface __NSCFType
8 @end
9
10 @interface __NSCFString : __NSCFType
11 - (const char *)UTF8String;
12 @end
13
14 @implementation __NSCFString
15 - (const char *)UTF8String {
16     return (const char *)[super UTF8String];
17 }
18 @end
19
20 // CHECK: call %struct.objc_class* @class_getSuperclass
21
22 @class NSZone;
23
24 @interface NSObject {
25 }
26
27 + (id)allocWithZone:(NSZone *)zone;
28 @end
29
30
31 @interface NSArray : NSObject
32 @end
33
34 @implementation NSArray
35 + (id)allocWithZone:(NSZone *)zone {
36     return [super allocWithZone:zone];
37 }
38 @end
39
40 @interface XNSArray
41 {
42   Class isa;
43 }
44 @end
45
46 @class XNSArray;
47
48 @interface __NSArray0 : XNSArray
49 @end
50
51 @implementation __NSArray0 @end