Re: [DynInst_API:] Compile issue building Dyninst on ORNL titan


Date: Fri, 17 Oct 2014 14:58:55 -0700
From: Josh Stone <jistone@xxxxxxxxxx>
Subject: Re: [DynInst_API:] Compile issue building Dyninst on ORNL titan
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.
[← Prev in Thread] Current Thread [Next in Thread→]