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