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/