diff options
author | Anders Carlsson <andersca@mac.com> | 2009-11-10 04:46:30 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-11-10 04:46:30 +0000 |
commit | b76cd3d0c166b2162c4709f2ef5da8d67d9844b7 (patch) | |
tree | b348006c21dceff5e7f6ea9c808ffb48de85a621 /lib/CodeGen/CodeGenFunction.h | |
parent | 2f019aadc96f8fa3185c684c7150bd596d045064 (diff) |
When trying to assign a regular string literal to an Objective-C 'id' type or a pointer to an NSString, emit a code insertion hint that turns it into an Objective-C string. For example:
@class NSString;
@interface Test
+ (void)test:(NSString *)string;
@end
void g(NSString *a);
void f() {
NSString *a = "Foo";
g("Foo");
[Test test:"Foo"];
}
will produce
t.m:10:17: warning: incompatible pointer types initializing 'char [4]', expected 'NSString *'
NSString *a = "Foo";
^~~~~
@
t.m:11:5: warning: incompatible pointer types passing 'char [4]', expected 'NSString *'
g("Foo");
^~~~~
@
t.m:12:14: warning: incompatible pointer types sending 'char [4]', expected 'NSString *'
[Test test:"Foo"];
^~~~~
@
3 diagnostics generated.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86665 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenFunction.h')
0 files changed, 0 insertions, 0 deletions