changequote({,})changecom({!})dnl ! Copyright (C) GFD Dennou Club, 2000-2001. All rights reserved ! sysdepabort.m4 - 環境依存性ルーチン(プログラム停止) ! メッセージを表示してプログラムを停止する。 ! 通常の処理系では abort() があるのでこれでいい。たいていは異常終了する。 ! abort() が実装されていない処理系では何もしない abort() を造ると ! あとの stop でとめることができる。 SUBROUTINE SYSDEPABORT(STRING) USE GTDATA_GENERIC, ONLY: GTVARSYNC USE DC_TRACE, ONLY: DBG_SCRATCH IMPLICIT NONE CHARACTER(LEN = *), INTENT(IN):: STRING INTEGER:: STAT WRITE(*, *) TRIM(STRING) CALL DBG_SCRATCH(.FALSE.) CALL GTVARSYNC(STAT=STAT) ifelse(aborttype, DCL, {dnl CALL OSABRT }, aborttype, EXIT, {dnl CALL EXIT(3) }, aborttype, SETRCD, {dnl ! --- FQS FFC --- CALL SETRCD(3) CALL EXIT }, aborttype, ERRTRA-SETRCD, {dnl ! --- LAHEY --- CALL ERRTRA CALL SETRCD(13) CALL EXIT(3) }, aborttype, ABORT, {dnl CALL ABORT() ! --- DVF, SUN --- }, {dnl ! --- HITACHI --- STOP 3 }) STOP 'FAILSAFE' END SUBROUTINE