Bruno Haible wrote:
Hi Paul,

By the way, why write "if __GNUC__ >= 5 && !defined __cplusplus &&
!defined __clang__" instead of "ifdef __CHKP__"? The latter is easier to
read....

I couldn't find any documentation for this __CHKP__ macro.

It's not documented in the GCC manual. I found documentation for it here:

https://software.intel.com/en-us/articles/intel-memory-protection-extensions-enabling-guide

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.

Reply via email to