specifiers. Fixes <rdar://problem/
9607158>." because it causes false positives
on some code that uses CF toll free bridging.
- I'll let Doug or Ted figure out the right fix here, possibly just to accept
any pointer type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134041
91177308-0d34-0410-b5e6-
96231b3b80d8
argTy->isNullPtrType();
case ObjCPointerTy:
- return argTy->getAs<ObjCObjectPointerType>() != NULL ||
- argTy->getAs<BlockPointerType>() != NULL;
+ return argTy->getAs<ObjCObjectPointerType>() != NULL;
}
// FIXME: Should be unreachable, but Clang is currently emitting
return Ctx.WCharTy;
case ConversionSpecifier::pArg:
return ArgTypeResult::CPointerTy;
- case ConversionSpecifier::ObjCObjArg:
- return ArgTypeResult::ObjCPointerTy;
default:
break;
}
void check_nslog(unsigned k) {
NSLog(@"%d%%", k); // no-warning
NSLog(@"%s%lb%d", "unix", 10,20); // expected-warning {{invalid conversion specifier 'b'}}
- NSLog(@"%@", "a"); // expected-warning {{conversion specifies type 'id' but the argument has type 'char *'}}
}
// Check type validation