Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, コンパイラーおよびランタイム 移行ガイド

IBM1206: BIT 演算子の誤用

この W レベル・メッセージは、起こり得るコーディング・エラーについてアラートするものです。 新しいコンパイラーによって生成されるメッセージは、次のようになります。

  IBM1206I W BIT operators should be applied only to BIT operands.

このメッセージを出現させるステートメントに対して新しいコンパイラーが生成したコードは、従来のコンパイラーが生成したコードと同じです。ただし、従来のコンパイラーは警告メッセージを発行しませんでした。

このメッセージを生じさせ、その原因となりうるコーディング・エラーの例として、次のコードを見てみましょう。

   dcl (x,y) fixed bin;

   if x = ¬y then
     ...

   if x ¬ y then
     ...

最初の IF ステートメントで、ビット接頭否定演算子は FIXED BIN 変数 y に適用されますが、おそらくそういう意図はなかったと思われます。 同様に、2 番目の IF ステートメントで、ビット 2 項排他的論理和演算子は FIXED BIN 変数 x および y に適用されますが、おそらくこの場合もそういう意図はなかったと思われます。 実際には、おそらく両方のステートメントにタイプミスがあり、変数 x および y が等しくないことを検査するはずでした。

また、ビット単位演算子を本当に意図する場合は、BIT 組み込み関数 (または INOT および IEOR 組み込み関数の可能性もある) を使用して、それを明確にすることがおそらく最善なことでしょう。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)