[clang] [ObjC] Emit number, array, and dictionary literals as constants (PR #185130)

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 23 00:55:13 PDT 2026


zmodem wrote:

Thanks!

It seems like a compiler issue to me since this is a compiler change and it caused the `objCType` of `@1UL` to go from `q` to `Q` :-)

https://clang.llvm.org/docs/ObjectiveCLiterals.html says
>   `NSNumber *fortyTwoLong = @42L;`        // equivalent to `[NSNumber numberWithLong:42L]`

which if we extend it to our example means that `@1UL` should be equivalent to `[NSNumber numberWithUnsignedLong:1UL]`. If the equivalence extends to `objCType`, that means `@1UL` should be `q` as it was before?

https://github.com/llvm/llvm-project/pull/185130


More information about the cfe-commits mailing list