Excellent, Mr. Fortran.  Thank you.

By the way, I meant to write Branch ON Low Bit Set/Clear.

Larry Baker
US Geological Survey
650-329-5608
ba...@usgs.gov



On 20 Feb 2015, at 11:22 AM, Jeff Squyres (jsquyres) wrote:

> On Feb 20, 2015, at 2:12 PM, Larry Baker <ba...@usgs.gov> wrote:
>> 
>> Beware, this has/may not always be the case.  This is due to C's historical 
>> confusion/misuse of integers as boolean data types.  On VAX hardware, the 
>> low bit was the only significant part of a Fortran LOGICAL data type, owing 
>> to the architectural support (Branch of Low Bit Set/Clear) for the low bit 
>> in a status word meaning success/failure.  I doubt anyone uses VAXes and 
>> MPI, so this is not likely to cause users problems.
> 
> Note that this comment was referring to two things:
> 
> 1. 0/1 array index issues
> 2. .true./.false. issues
> 
> We actually check for the value of .true. in configure, and use that 
> everywhere.  I believe this particular portion of the code simply looks for 
> .false.==(C int)0, and .true. is anything else.  That was deemed good enough 
> because this portion of the code is simply *checking* for true/false.  Where 
> we *assign* true/false in the Fortran boolean sense, we use the value 
> determined by configure.
> 
> -- 
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to: 
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: 
> http://www.open-mpi.org/community/lists/devel/2015/02/17012.php

Reply via email to