XL Fortran for AIX V8.1.1

ユーザーズ・ガイド


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
I/O エラー。ファイルの読み取りまたは書き込みができません。
254
fork エラー。新しいプロセスを作成できません。
255
プロセス実行中のエラー。

実行時戻りコード

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

注:
これは XL Fortran バージョン 2 より後からの変更で、バージョン 2 では 232 という値を使用していました。

プログラムが正常終了した場合は、戻りコードは 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 特定のメッセージを示します。

24
VAST プリプロセッサーのメッセージを示します。

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

26
KAP プリプロセッサーのメッセージを示します。

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

lslpp -f 'xlfcmpm*.msg' # compile-time messages
lslpp -f 'xlfrtem*.msg' # run-time messages

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


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]