Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

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/