So far all seems well. However, a place that can certainly cause problems is
the representation of logical values. In principle, it is completely up to the
compiler writer to chose how logical values are represented. What is even worse
as far as C is concerned is that there is no logical type at all! In C, a
numerical value of zero represents false and anything else represents true, but
these are numeric data types, not logical types. On a VAX/VMS system, FORTRAN
represents a logical value of false by an integer zero and true by an integer
minus one; however, only the bottom bit is tested, so if an integer value of 2
were to be treated as a logical value, then it would be taken as false. C, on
the other hand, would treat it as true.
CNF and F77 Mixed Language Programming -- FORTRAN and C