https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90543

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #6)
> Neither uintptr_t nor PRIxPTR (nor long long nor uint64_t) is part of C++98,
> which GCC still requires. I do see existing uses of intptr_t and uintptr_t
> in gcc/cp/*.c though.

For intptr_t and uintptr_t configure arranges to have those defined:
 -- Macro: AC_TYPE_UINTPTR_T
     If `stdint.h' or `inttypes.h' defines the type `uintptr_t', define
     `HAVE_UINTPTR_T'.  Otherwise, define `uintptr_t' to an unsigned
     integer type wide enough to hold a pointer, if such a type exists.
 -- Macro: AC_TYPE_INTPTR_T
     If `stdint.h' or `inttypes.h' defines the type `intptr_t', define
     `HAVE_INTPTR_T'.  Otherwise, define `intptr_t' to a signed integer
     type wide enough to hold a pointer, if such a type exists.
and all we require is that such a type exists, so hosts where pointers don't
have size of unsigned int, unsigned long or unsigned long long and don't
provide stdint.h or inttypes.h defining those are unsupported.  Are there any?

Reply via email to