-[NSValue objCType] returns wrong encoding for unsigned long long

Originator:ullrich.schaefer
Number:rdar://20232438 Date Originated:19-Mar-2015
Status:Open Resolved:
Product:iOS SDK Product Version:iOS 8.1
Classification: Reproducible:Yes
 
Summary:
According to https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtTypeEncodings.html the type encoding for `unsigned long long` should be `Q`, but the NSValue method returns `q`

Steps to Reproduce:
Paste the following lines in somewhere and run them:

[[@((long long)1) objCType] isEqualToString:@"q"];
[[@((unsigned long long)1) objCType] isEqualToString:@"Q"];

Expected Results:
[[@((long long)1) objCType] isEqualToString:@"q"] => true
[[@((unsigned long long)1) objCType] isEqualToString:@"Q"] => true

Actual Results:
[[@((long long)1) objCType] isEqualToString:@"q"] => true
[[@((unsigned long long)1) objCType] isEqualToString:@"Q"] => false

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!