Here's a little demonstrator:
PROGRAM TEST
LOGICAL LABSON, LEGON
LABSON = .TRUE.
LEGON = .TRUE.
write(*,*) LABSON, LEGON
write(*,*) LABSON .AND. LEGON
END
As might be expected, the output is T T on one line, and T on the next.
But, in my 4000+ line program that I wrote over 30 years ago, two consecutive write statements give me T T and then F, with the F thereby failing an IF statement on the next line.
Now, I cannot recall what on earth possessed me to use LOGICAL variables in the first place, as I almost never do (and swear that I'll never do again). Instead I think I'll go back to testing for 0 and 1 in an INTEGER.
Just 32 bit mode, and doesn't need a fix, as I'll never use LOGICAL ever again!
Dan's devilry no doubt.
Eddie