On 2023-12-01 22:12, Bruno Haible wrote:
Which integer types on CHERI have "holes"?
intptr_t and uintptr_t, since they consume 128 bits of storage but have only 64 bits of integer value payload. Because of the holes, for example, intprops.h's TYPE_MAXIMUM doesn't work on CHERI-BSD for those two types. (I think I could work around this particular bug but it's likely not worth the effort as people should just use INTPTR_MAX and UINTPTR_MAX instead.)
Arguably the 129th bit of each intptr_t/uintptr_t is also a "hole". However, this extra bit doesn't cause a problem with intprops.h etc. as far as I can see.