On 10/17/2014 02:25 PM, Jim Galarowicz wrote:
> I'm not sure if the patchAPI compile options have the correct defines
> set or is there a compile option that is required to get the constants
> recognized?
> I put the #include stdint.h into BPatch.C to see if the Dyninst build
> was missing including stdint.h because it is enclosed in some if
> <defined> type code.
> So, I'm guessing there is an missing option or missing compiler define
> that is needed.
>
> From stdint.h on Titan:
>
> /* The ISO C99 standard specifies that in C++ implementations these
> macros should only be defined if explicitly requested. */
> #if !defined __cplusplus || defined __STDC_LIMIT_MACROS
Yet common/src/Types.h ensures __STDC_LIMIT_MACROS is defined in every
case before including stdint.h.
I would guess there's a problem in the #include order. As in, something
that precedes Types.h is indirectly including stdint.h, when
__STDC_LIMIT_MACROS isn't defined yet. Then when Types.h gets around to
it, the _STDINT_H guards are already set, so it does nothing.
|