RULES(IBM) コンパイル時オプション (デフォルト) を指定した場合、 ゼロ以外のスケール因数を持つ FIXED BIN として変数を宣言できます。 スケールされた FIXED BIN による 2 項演算、プレフィックス演算、および比較演 算は、従来のコンパイラーと同じセマンティクスを使用して実行されます。
ただし、ADD、DIVIDE、または MULTIPLY 組み込み関数は、ゼロ以外のスケ ール因数を持つ FIXED BIN の結果は生成しません。
これらの組み込み関数は、次のどちらかの条件が満たされる場合、 従来のコンパイラーでは FIXED BIN として評価されていましたが、 新しいコンパイラーでは FIXED DEC として評価されます。
例えば、新しいコンパイラーは、次の代入ステートメントの DIVIDE 組み 込み関数を FIXED DEC 式として評価します。
dcl (i,j) fixed bin(15);
dcl x fixed bin(15,2);
...
x = divide(i,j,15,2);
このメッセージが表示されるほとんどの場合、変更は必要ありません。通常は、プログラマーが考えたとおりのことが起きただけです。 例えば、前述のコードは実際には、その除算の結果に属性 FIXED DEC(15,2) ではなく、属性 FIXED BIN(15,2) を持たせるだけの、ありそうもないプログラムとなります。
コンパイラーは、メッセージ IBM1053 を出して、この相違点にフラグを立てます。