Bruno Haible wrote:
By the way, why write "if __GNUC__ >= 5 && !defined __cplusplus &&
!defined __clang__" instead of "ifdef __CHKP__"? The latter is easier to
I couldn't find any documentation for this __CHKP__ macro.
It's not documented in the GCC manual. I found documentation for it here:
This points to a freely-readable PDF.
The code that I committed does not have such "bad" pointers in intermediate
expressions either. It computes a valid pointer, converts it to uintptr_t,
does some arithmetic on it, and then converts back to a pointer. Since the
resulting pointer is in the malloc'ed range, it is valid.
Ah, sorry, I was thinking about my translation of that into code that did not
convert pointers back from uintptr_t.