Fortran2008 では ALOGOL 的なブロック構造が導入されます。ここでは変数などがローカルに確保されます。捨て変数などをローカルに確保できるので便利になります。Intel Fortran では、まだ対応していないので、gfortran で試してみることにします。
block 構造内では use 文や parameter も定義できます。implicit 文は許されないようです。
ソース
program test implicit none real, parameter :: pi = 4.0 * atan(1.0) print *, kind(0.0) print *, pi block use iso_fortran_env real(real64), parameter :: pi = 4.0_real64 * atan(1.0_real64) print *, real64 print *, pi block real(real128), parameter :: pi = 4.0_real128 * atan(1.0_real128) print *, real128 print *, pi end block print *, real64 print *, pi end block print *, kind(0.0) print *, pi stop end program test