潜在的な問題や実際に発生する問題に関するほとんどの情報は、コンパイラー またはアプリケーション・プログラムからのメッセージによって提示されます。 これらのメッセージは、標準エラー出力ストリームに書き込まれます。
コンパイル・エラーには以下のような重大度レベルがあり、 これはエラー・メッセージの一部として表示されます。
注:
デフォルト時には、重大エラー (重大度 S) を検出すると、 コンパイラーは出力ファイルを作成しないで停止します。 -qhalt オプションを使用して別の重大度を指定すれば、 重大度のより低いエラーに対して、コンパイラーを停止させることができます。 たとえば、-qhalt=e を使用した場合、重大度 E または それ以上の重大度のエラーを検出するとコンパイラーが停止します。 この手法を使用すると、プログラムの構文およびセマンティクスの妥当性を チェックするのに必要なコンパイル時間を短縮することができます。 -qflag オプションを使用すると、コンパイラーを停止させることなく 低レベルのメッセージを制限することができます。 特定のメッセージが出力ストリームに出力されないようにしたいだけであれば、 -qsuppress オプションを参照してください。
コンパイラーのリターン・コード、および対応する意味は以下のとおりです。
XLF コンパイル・プログラムが異常終了した場合は、オペレーティング・システムへの戻りコードは 1 です。
プログラムが正常終了した場合は、戻りコードは 0 (デフォルト) で、STOP digit_string ステートメントの 原因によってプログラムが終了した場合は、MOD(digit_string,256) です。
-qsource コンパイラー・オプションを指定すると、 診断メッセージが表示されるだけでなく、ソース行と、エラーが検出された ソース行内の位置を指し示すポインターが印刷または表示されます。 -qnosource が有効な場合は、メッセージとともに、 エラーのファイル名、行番号、桁位置が表示されます。
XL Fortran 診断メッセージの形式は次のとおりです。
>>-15--cc-- ---nnn-- --+------------------------+--message_text->< '-(--severity_letter--) -'
上記の意味は次のとおりです。
ユーザーがすでに気付いていたり、気にかけていない問題に関する多数の低レベルのメッセージ (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 の出荷時のデフォルト・メッセージは、英語だけになっています。さらに、翻訳されたメッセージ・カタログを注文することもできます。
コンパイル時メッセージが別の言語で表示されるべき時に英語で 表示されている場合は、正しいメッセージ・カタログがインストールされていること、 環境変数 LANG と LC_MESSAGES と LC_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
メッセージ・カタログのファイル名は、サポートされているすべての各国語で同一です (入っているディレクトリーは別)。