XL Fortran エラー・メッセージに関する情報

潜在的な問題や実際に発生する問題に関するほとんどの情報は、コンパイラー またはアプリケーション・プログラムからのメッセージによって提示されます。 これらのメッセージは、標準エラー出力ストリームに書き込まれます。

エラーの重大度

コンパイル・エラーには以下のような重大度レベルがあり、 これはエラー・メッセージの一部として表示されます。

U
回復不能エラー。 内部コンパイラー・エラーが原因でコンパイルが失敗しました。

S
重大エラー。 コンパイルが以下のいずれかの理由で失敗しました。

E
コンパイラーが修正できるエラー。 プログラムは正しく動作します。

W
警告メッセージ。 エラーを意味しているのではありませんが、何らかの予期しない状況を 示している場合があります。

L
さまざまな言語レベルに従っているかどうかをチェックする コンパイラー・オプションによって生成される警告メッセージです。 移植性を保持したい場合に回避しなければならない 言語機能を示している場合があります。

I
通知メッセージ。 エラーではなく、予期しない動作を回避するために 気を付けなければならないことを示しています。

注:

  1. メッセージ・レベル SU は、 コンパイルの失敗を示しています。
  2. メッセージ・レベル ILWE は、 コンパイルが成功したことを示しています。

デフォルト時には、重大エラー (重大度 S) を検出すると、 コンパイラーは出力ファイルを作成しないで停止します。 -qhalt オプションを使用して別の重大度を指定すれば、 重大度のより低いエラーに対して、コンパイラーを停止させることができます。 たとえば、-qhalt=e を使用した場合、重大度 E または それ以上の重大度のエラーを検出するとコンパイラーが停止します。 この手法を使用すると、プログラムの構文およびセマンティクスの妥当性を チェックするのに必要なコンパイル時間を短縮することができます。 -qflag オプションを使用すると、コンパイラーを停止させることなく 低レベルのメッセージを制限することができます。 特定のメッセージが出力ストリームに出力されないようにしたいだけであれば、 -qsuppress オプションを参照してください。

コンパイラーの戻りコード

コンパイラーのリターン・コード、および対応する意味は以下のとおりです。

0
コンパイラーは、コンパイル単位の処理を停止させなければならないような 重大なエラーを検出しませんでした。
1
コンパイラーが重大度 E または halt_severity (どちらか 重大度の低い方) のエラーを検出しました。 halt_severity のレベルに従って、コンパイラーは エラーを出してコンパイル単位の処理を続行させることができます。
40
オプション・エラー。
41
構成ファイル・エラー。
250
メモリー不足エラー。 コンパイラーは、使用するメモリーをこれ以上割り振ることができません。
251
シグナル受信エラー。 回復不能エラーまたは割り込みシグナルが受信されました。
252
ファイルが存在しないエラー。
253
入出力エラー。 ファイルの読み取りまたは書き込みができません。
254
fork エラー。 新しいプロセスを作成できません。
255
プロセス実行中のエラー。

実行時戻りコード

XLF コンパイル・プログラムが異常終了した場合は、オペレーティング・システムへの戻りコードは 1 です。

プログラムが正常終了した場合は、戻りコードは 0 (デフォルト) で、STOP digit_string ステートメントの 原因によってプログラムが終了した場合は、MOD(digit_string,256) です。

XL Fortran メッセージに関する情報

-qsource コンパイラー・オプションを指定すると、 診断メッセージが表示されるだけでなく、ソース行と、エラーが検出された ソース行内の位置を指し示すポインターが印刷または表示されます。 -qnosource が有効な場合は、メッセージとともに、 エラーのファイル名、行番号、桁位置が表示されます。

XL Fortran 診断メッセージの形式は次のとおりです。

>>-15--cc-- ---nnn-- --+------------------------+--message_text-><
                       '-(--severity_letter--) -'
 
 

上記の意味は次のとおりです。

15
XL Fortran メッセージを示します。

cc
次のようなコンポーネント番号です。

00
コード作成または最適化メッセージを示します。

01
XL Fortran 共通メッセージを示します。

11-20
Fortran 特定のメッセージを示します。

25
XL Fortran アプリケーション・プログラムからの実行時メッセージを示します。

85
ループ変換メッセージを示します。

86
プロシージャー間分析 (IPA) メッセージを示します。

nnn
メッセージ番号です。

severity_letter
前の項で説明したように、問題の重大度を示します。

'message text'
エラーを説明するテキストです。

コンパイル時メッセージ数の制限

ユーザーがすでに気付いていたり、気にかけていない問題に関する多数の低レベルのメッセージ (I または W) をコンパイラーが出す場合は、-qflag オプションまたは、その短形式の -w を 使用して、メッセージを高レベルのものに限定してください。

# E, S, and U messages go in listing; U messages are displayed on screen.
xlf95 -qflag=e:u program.f
 
# E, S, and U messages go in listing and are displayed on screen.
 
xlf95 -w program.f

メッセージの言語の選択

XL Fortran の出荷時のデフォルト・メッセージは、英語だけになっています。さらに、翻訳されたメッセージ・カタログを注文することもできます。

コンパイル時メッセージが別の言語で表示されるべき時に英語で 表示されている場合は、正しいメッセージ・カタログがインストールされていること、 環境変数 LANGLC_MESSAGESLC_ALL、 あるいは、そのいずれかが適切に設定されていることを確認してください。

実行時メッセージが別の言語で表示される場合は、お使いの プログラムが setlocale ルーチンを呼び出すことも確認してください。

関連情報:
各国語サポートのための環境変数および 実行時メッセージ用の言語の選択を 参照してください。

インストールされている XL Fortran メッセージ・カタログを判別するには、 以下のコマンドを使用して、インストールされているメッセージ・カタログのリストを 表示してください。

rpm -ql xlf.cmp        # compile-time messages
rpm -ql xlf.msg.rte    # run-time messages
rpm -ql xlsmp.msg.rte  # SMP run-time messages

メッセージ・カタログのファイル名は、サポートされているすべての各国語で同一です (入っているディレクトリーは別)。

注:
XL Fortran プログラムを XL Fortran メッセージ・カタログがないシステム上で実行した場合、 実行時エラー・メッセージ (ほとんどは I/O 問題に関するもの) が正しく表示されず、プログラムは メッセージ番号を出しますが、それに関連したテキストは表示されません。 この問題を回避するには、XL Fortran メッセージ・カタログを /opt/ibmcmp/msg から、実行システムで設定された NLSPATH 環境変数の一部となっているディレクトリーへコピーします。
IBM Copyright 2003