teak-llvm/clang/test/SemaObjC/conversion.m
Ted Kremenek a553fbfcd1 GetExprRange() (used by -Wconversion checking) should look through OpaqueValueExprs.
Fixes a false positive with -Wconversion involving Objective-C properties.

Fixes <rdar://problem/14415662>.

llvm-svn: 192611
2013-10-14 18:55:27 +00:00

18 lines
502 B
Objective-C

// RUN: %clang_cc1 -Wconversion -fsyntax-only %s -verify
typedef signed char BOOL;
__attribute__((objc_root_class)) @interface RDar14415662
@property (readonly) BOOL stuff;
@property (readwrite) BOOL otherStuff;
@end
void radar14415662(RDar14415662 *f, char x, int y) {
f.otherStuff = !f.stuff; // no-warning
BOOL b = !f.stuff; // no-warning
// True positive to sanity check warning is working.
x = y; // expected-warning {{implicit conversion loses integer precision: 'int' to 'char'}}
}