Replaced all instances of internal::(U)IntPtr with std::(u)intptr_t. Remove ICC workaround.
Reference issue
Closes issue #2596 (closed)
What does this implement/fix?
Removes an old typedef (regarding use of std::intptr_t
vs. std::size_t
, see issue #2596 (closed)) used to workaround an issue in ICC. No longer necessary in C++14.
Additional information
Removal of this typedef improves compatibility with the novel CHERI/Morello architecture and should have no ill effects elsewhere. The architecture has strict rules about the use of pointers, in particular using int types as if they were pointers. Breaking these rules can lead to a hardware exception at runtime as the validity of the pointer cannot be established.
All tests (make check
) passing before and after changes.
This PR replaces an earlier PR which could not be merged due to failure to rebase properly.