annotate clang/test/ARCMT/objcmt-boxing.m.result @ 180:680fa57a2f20

fix compile errors.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 30 May 2020 17:44:06 +0900
parents 1d019706d866
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: rm -rf %t
anatofuz
parents:
diff changeset
2 // RUN: %clang_cc1 -fobjc-arc -objcmt-migrate-literals -objcmt-migrate-subscripting -mt-migrate-directory %t %s -x objective-c++ -verify
anatofuz
parents:
diff changeset
3 // RUN: c-arcmt-test -mt-migrate-directory %t | arcmt-test -verify-transformed-files %s.result
anatofuz
parents:
diff changeset
4 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c++ %s.result
anatofuz
parents:
diff changeset
5
anatofuz
parents:
diff changeset
6 #define YES __objc_yes
anatofuz
parents:
diff changeset
7 #define NO __objc_no
anatofuz
parents:
diff changeset
8
anatofuz
parents:
diff changeset
9 typedef long NSInteger;
anatofuz
parents:
diff changeset
10 typedef unsigned long NSUInteger;
anatofuz
parents:
diff changeset
11 typedef signed char BOOL;
anatofuz
parents:
diff changeset
12 #define nil ((void*) 0)
anatofuz
parents:
diff changeset
13
anatofuz
parents:
diff changeset
14 #define INT_MIN (-__INT_MAX__ -1)
anatofuz
parents:
diff changeset
15
anatofuz
parents:
diff changeset
16 @interface NSObject
anatofuz
parents:
diff changeset
17 + (id)alloc;
anatofuz
parents:
diff changeset
18 @end
anatofuz
parents:
diff changeset
19
anatofuz
parents:
diff changeset
20 @interface NSNumber : NSObject
anatofuz
parents:
diff changeset
21 @end
anatofuz
parents:
diff changeset
22
anatofuz
parents:
diff changeset
23 @interface NSNumber (NSNumberCreation)
anatofuz
parents:
diff changeset
24 - (id)initWithChar:(char)value;
anatofuz
parents:
diff changeset
25 - (id)initWithUnsignedChar:(unsigned char)value;
anatofuz
parents:
diff changeset
26 - (id)initWithShort:(short)value;
anatofuz
parents:
diff changeset
27 - (id)initWithUnsignedShort:(unsigned short)value;
anatofuz
parents:
diff changeset
28 - (id)initWithInt:(int)value;
anatofuz
parents:
diff changeset
29 - (id)initWithUnsignedInt:(unsigned int)value;
anatofuz
parents:
diff changeset
30 - (id)initWithLong:(long)value;
anatofuz
parents:
diff changeset
31 - (id)initWithUnsignedLong:(unsigned long)value;
anatofuz
parents:
diff changeset
32 - (id)initWithLongLong:(long long)value;
anatofuz
parents:
diff changeset
33 - (id)initWithUnsignedLongLong:(unsigned long long)value;
anatofuz
parents:
diff changeset
34 - (id)initWithFloat:(float)value;
anatofuz
parents:
diff changeset
35 - (id)initWithDouble:(double)value;
anatofuz
parents:
diff changeset
36 - (id)initWithBool:(BOOL)value;
anatofuz
parents:
diff changeset
37 - (id)initWithInteger:(NSInteger)value;
anatofuz
parents:
diff changeset
38 - (id)initWithUnsignedInteger:(NSUInteger)value;
anatofuz
parents:
diff changeset
39
anatofuz
parents:
diff changeset
40 + (NSNumber *)numberWithChar:(char)value;
anatofuz
parents:
diff changeset
41 + (NSNumber *)numberWithUnsignedChar:(unsigned char)value;
anatofuz
parents:
diff changeset
42 + (NSNumber *)numberWithShort:(short)value;
anatofuz
parents:
diff changeset
43 + (NSNumber *)numberWithUnsignedShort:(unsigned short)value;
anatofuz
parents:
diff changeset
44 + (NSNumber *)numberWithInt:(int)value;
anatofuz
parents:
diff changeset
45 + (NSNumber *)numberWithUnsignedInt:(unsigned int)value;
anatofuz
parents:
diff changeset
46 + (NSNumber *)numberWithLong:(long)value;
anatofuz
parents:
diff changeset
47 + (NSNumber *)numberWithUnsignedLong:(unsigned long)value;
anatofuz
parents:
diff changeset
48 + (NSNumber *)numberWithLongLong:(long long)value;
anatofuz
parents:
diff changeset
49 + (NSNumber *)numberWithUnsignedLongLong:(unsigned long long)value;
anatofuz
parents:
diff changeset
50 + (NSNumber *)numberWithFloat:(float)value;
anatofuz
parents:
diff changeset
51 + (NSNumber *)numberWithDouble:(double)value;
anatofuz
parents:
diff changeset
52 + (NSNumber *)numberWithBool:(BOOL)value;
anatofuz
parents:
diff changeset
53 + (NSNumber *)numberWithInteger:(NSInteger)value;
anatofuz
parents:
diff changeset
54 + (NSNumber *)numberWithUnsignedInteger:(NSUInteger)value;
anatofuz
parents:
diff changeset
55 @end
anatofuz
parents:
diff changeset
56
anatofuz
parents:
diff changeset
57 enum {
anatofuz
parents:
diff changeset
58 NSASCIIStringEncoding = 1,
anatofuz
parents:
diff changeset
59 NSUTF8StringEncoding = 4,
anatofuz
parents:
diff changeset
60 NSUnicodeStringEncoding = 10
anatofuz
parents:
diff changeset
61 };
anatofuz
parents:
diff changeset
62 typedef NSUInteger NSStringEncoding;
anatofuz
parents:
diff changeset
63
anatofuz
parents:
diff changeset
64 @interface NSString : NSObject
anatofuz
parents:
diff changeset
65 @end
anatofuz
parents:
diff changeset
66
anatofuz
parents:
diff changeset
67 @interface NSString (NSStringExtensionMethods)
anatofuz
parents:
diff changeset
68 + (id)stringWithUTF8String:(const char *)nullTerminatedCString;
anatofuz
parents:
diff changeset
69 + (id)stringWithCString:(const char *)cString encoding:(NSStringEncoding)enc;
anatofuz
parents:
diff changeset
70 + (id)stringWithCString:(const char *)bytes;
anatofuz
parents:
diff changeset
71 - (instancetype)initWithUTF8String:(const char *)nullTerminatedCString;
anatofuz
parents:
diff changeset
72 @end
anatofuz
parents:
diff changeset
73
anatofuz
parents:
diff changeset
74 enum MyEnm {
anatofuz
parents:
diff changeset
75 ME_foo
anatofuz
parents:
diff changeset
76 };
anatofuz
parents:
diff changeset
77
anatofuz
parents:
diff changeset
78 void foo() {
anatofuz
parents:
diff changeset
79 @INT_MIN;
anatofuz
parents:
diff changeset
80 bool cppb;
anatofuz
parents:
diff changeset
81 @(cppb);
anatofuz
parents:
diff changeset
82 MyEnm myenum;
anatofuz
parents:
diff changeset
83 @(myenum);
anatofuz
parents:
diff changeset
84 @(ME_foo);
anatofuz
parents:
diff changeset
85 [NSNumber numberWithDouble:cppb]; // expected-warning {{converting to boxing syntax requires casting 'bool' to 'double'}}
anatofuz
parents:
diff changeset
86 }
anatofuz
parents:
diff changeset
87
anatofuz
parents:
diff changeset
88 void boxString() {
anatofuz
parents:
diff changeset
89 NSString *s = @"box";
anatofuz
parents:
diff changeset
90 const char *cstr1;
anatofuz
parents:
diff changeset
91 char *cstr2;
anatofuz
parents:
diff changeset
92 s = @(cstr1);
anatofuz
parents:
diff changeset
93 s = @(cstr2);
anatofuz
parents:
diff changeset
94 s = @(cstr1);
anatofuz
parents:
diff changeset
95 s = @(cstr1);
anatofuz
parents:
diff changeset
96 s = [NSString stringWithCString:cstr1 encoding: NSUnicodeStringEncoding];
anatofuz
parents:
diff changeset
97 NSStringEncoding encode;
anatofuz
parents:
diff changeset
98 s = [NSString stringWithCString:cstr1 encoding:encode];
anatofuz
parents:
diff changeset
99 s = @(cstr1);
anatofuz
parents:
diff changeset
100
anatofuz
parents:
diff changeset
101 static const char strarr[] = "coolbox";
anatofuz
parents:
diff changeset
102 s = @(strarr);
anatofuz
parents:
diff changeset
103 // rdar://18080352
anatofuz
parents:
diff changeset
104 const char *utf8Bytes = "blah";
anatofuz
parents:
diff changeset
105 NSString *string1 = @(utf8Bytes);
anatofuz
parents:
diff changeset
106 NSString *string2 = @(utf8Bytes);
anatofuz
parents:
diff changeset
107 }