デバッグ作業を行っておりまして、
指定回数目の呼び出しでプログラムが止まるようにしたいと思っています。
非常に簡単なことで、例えば以下のように書けば問題なく目的が達成できると思っていたのですが・・・

subroutine xxx
common /debug/ counter
integer counter
------処理内容------
write(*,*) counter
counter = counter+1
if(counter .eq. 2) stop
end

うまくいきません。コンソールには、

0
0
0
0
0
1

と書き出され、8行目のwrite文は認識されているのに
次の行のcounterのインクリメントは無視されているように見えます。
もちろんcounterは他の処理で書換えたりしてはいません。
また、親プログラムで最初にcounter=0に初期化してあります。

何かお気づきの点など無いでしょうか?