Travis Vitek wrote:
I've run into a problem while migrating the cstdint/stdint.h headers to
their new home in the include/ansi directory for 4.3.x.

[...]
The problem is that the system /usr/include/stdint.h defines the
appropriate types [int8_t, uint8_t, ...], but it only defines the limit
macros [PTRDIFF_MAX, ...] if compiling as C or if __STDC_LIMIT_MACROS is
defined. So we get into the final block, include the system header, but
none of the macros come through. At the very least this causes a bunch
of failed assertions in the test, but due to some minor issues with the
test it actually fails to compile when these macros aren't defined.

Now I could easily just #define __STDC_LIMIT_MACROS for gcc before
including /usr/include/stdint.h [or in rw/_config-gcc.h], but that
wouldn't help much if the user included the system header before our
header.

How could they do that?

Martin


The other option is to put things back the way they were and always use
our definitions from ansi/cstdint. But then there is the possibility
that we would define a type or macro differently than the system include
does, which is what we were trying to avoid in the first place.

What do you think?

Travis

Reply via email to