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: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2014-05-06 06:44:09


Ok -- if <stdint.h> is C99, then we're cool.

Thanks Larry.

On May 5, 2014, at 6:14 PM, Larry Baker <baker_at_[hidden]> wrote:

> 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
>

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/