The stdint.h header is Section 7.18 Integer types <stdint.h> in the C99 standard (I can mail you a PDF copy if you like). It says
> 126.96.36.199 Exact-width integer types
> 1 The typedef name intN_t designates a signed integer type with width N , no padding bits, and a twos complement representation. Thus, int8_t denotes a signed integer type with a width of exactly 8 bits.
> 2 The typedef name uintN_t designates an unsigned integer type with width N . Thus, uint24_t denotes an unsigned integer type with a width of exactly 24 bits.
> 3 These types are optional. However, if an implementation provides integer types with widths of 8, 16, 32, or 64 bits, no padding bits, and (for the signed types) that have a twos complement representation, it shall define the corresponding typedef names.
If OpenMPI requires C99 conformance, stdint.h will be there, but you will have to check for any width (u)int_t's you care about by name. Since these are typedefs, I am not sure how that might be done in CPP; a configure step might be required.
US Geological Survey
On 5 May 2014, at 2:46 PM, Jeff Squyres (jsquyres) wrote:
> Josh --
> Is this the Right fix?
> I ask because we check for <stdint.h> in configure. I'm sure it's always there for Linux, but is it *always* there? Indeed, are all the fixed size types always guaranteed to be available?
> On May 2, 2014, at 12:14 PM, svn-commit-mailer_at_[hidden] wrote:
>> Author: jladd (Joshua Ladd)
>> Date: 2014-05-02 12:14:05 EDT (Fri, 02 May 2014)
>> New Revision: 31605
>> URL: https://svn.open-mpi.org/trac/ompi/changeset/31605
>> Adding missing include for OSHMEM changes necessary to support Java bindings.
>> Text files modified:
>> trunk/oshmem/include/shmem.h.in | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>> Modified: trunk/oshmem/include/shmem.h.in
>> --- trunk/oshmem/include/shmem.h.in Fri May 2 10:28:45 2014 (r31604)
>> +++ trunk/oshmem/include/shmem.h.in 2014-05-02 12:14:05 EDT (Fri, 02 May 2014) (r31605)
>> @@ -14,7 +14,7 @@
>> #include <stddef.h> /* include for ptrdiff_t */
>> +#include <stdint.h> /* include for fixed width types */
>> #if defined(c_plusplus) || defined(__cplusplus)
>> # include <complex>
>> # define OSHMEM_COMPLEX_TYPE(type) std::complex<type>
>> svn-full mailing list
> Jeff Squyres
> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
> devel mailing list
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: http://www.open-mpi.org/community/lists/devel/2014/05/14685.php