あるsubroutineの中からその属するsubroutineと同じsubroutineを呼び出したのですが
どうすればいいでしょう?

下記のようなプログラムを書きたいのですが
コンパイルできません。

program main
call hoge
end
subroutine hoge
write(6,*) "hello world"
call hoge
return
end