Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] oshmem fixed sized type support
From: Larry Baker (baker_at_[hidden])
Date: 2014-05-05 18:14:06


Jeff,

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

> 7.18.1.1 Exact-width integer types
>
> 1 The typedef name intN_t designates a signed integer type with width N , no padding bits, and a two’s 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 two’s 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.

Larry Baker
US Geological Survey
650-329-5608
baker_at_[hidden]

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
>>
>> Log:
>> 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
>> svn-full_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/svn-full
>
>
> --
> Jeff Squyres
> jsquyres_at_[hidden]
> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> 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