プリプロセッサエラーメッセージの生成

 基本レベル外:

プリプロセッサがソースコードを処理している間にエラーが発生した場合は、ユーザに表示するメッセージのテキストを返します。

このメッセージは、WARNING および ERRQ 指令に従って、他のコンパイラメッセージと同じ方法で表示されます。また、ソースコード内でハイライト表示されます。

エラーを生成するには、プリプロセッサはエラーが発生した原始行を渡す必要があります。エラーメッセージは次の設定で渡されます。

resp-main 17
resp-more 重大度を示す値
1 情報
2 警告
3 エラー
4 重大なエラー
buffer メッセージの内容。 メッセージテキストが文字列 OFFSETnnn (大文字小文字を区別) と 1 つの空白文字で始まる場合は、nnn で示すエラーの位置にはフラグがつけられています。nnn は 3 バイトの数値です。 この文字列はメッセージの一部としては表示されません。

resp-main=17 は 1 行以上のユーザの原始行がプリプロセッサによってチェッカーに返されたときにのみ使用します。

注:この機能を使用するとエラーのハイライト表示が通常より遅くなる場合があります。 この遅れは、コンパイラが継続行を見つけるなどのために先読みしている場合に発生します。 コンパイラがプリプロセッサからエラー要求を受け取って処理し、エラーが先読み部分より前の行にあったことがわかった場合は、プリプロセッサによってフラグがつけられた行がハイライト表示されます。

すべてのレベル

エラー状況を処理する古い方法は今でも使用可能です。 この方法では、プリプロセッサがエラーメッセージの実際の表示を行う必要があり、十分には統合されていません。 このため、この方法はお奨めしません。

プリプロセッサがソースコードを処理している間にエラーが発生した場合は、エラーをコンパイラに通知することで、エラーを構文エラーとして扱うことができます。 この通知を行う方法は 2 つあります。

resp-more の値は、エラーが見つかった列の番号です。 この値は、エディタに制御が戻った際のカーソルの位置決めに使用します。

また、上記の 2 つの処理のうちの 1 つに関連して、コンパイラにその内部エラーカウントを増分させることができます。 内部エラーカウントの増分は、resp-main を値 7 に設定し、どのエラーカウントを増分させるかを resp-more に示すことで行います。 resp-more の値を次に示します。

重大度
1 回復不能なエラー
2 重大なエラー
3 エラー
4 警告
5 情報
6 フラグカウント

回復不能エラーカウントが増分すると、コンパイラは即座に中断されます。 buffer の内容は無視されます。

コンパイラが中断するか、エラーカウントが増分する前に、エラーメッセージをユーザに表示するのはプリプロセッサの役割です。 このメッセージは、リストファイルに挿入できるメッセージとは異なります。後者は情報提供のみを目的とするメッセージです。