Marc Glisse <marc.gli...@inria.fr> writes:

  There is, it is called (u)intptr_t, the standard name for an integer
  type that can hold a pointer.

Right!

I only naively checked intmax_t, assuming max would mean max. :-)


There seem to be a problem with arithmetic on uintptr_t, though.  The
compiler generates a plain "mul" instruction for multiplying two of
these fat integers, which is not quite right.  Admittedly, the compiler
outputs an arm (no pun intended) long warning message:

foo.c:7:12: warning: binary expression on capability types 'uintptr_t' (aka 
'unsigned __intcap') and 'uintptr_t'; it is not clear which should be used as 
the source of provenance; currently provenance is inherited from the left-hand 
side [-Wcheri-provenance]

Not sure what that means, though.  But it probably means "I generate
garbage code from your sources, sorry about that".


-- 
Torbjörn
Please encrypt, key id 0xC8601622
_______________________________________________
gmp-bugs mailing list
gmp-bugs@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-bugs

Reply via email to