MISRA C:2012 Rule 10.6
The value of a composite expression shall not be assigned to an object with wider essential type
説明
ルール定義
The value of a composite expression shall not be assigned to an object with wider essential type 1 .
根拠
"複合式" は複合演算子を使用した非定数式です。実質的な型モデルでは、複合演算子は以下になります。
乗算 (
*、/、%)加算 (二項
+、二項-)ビット単位 (
&、|、^)シフト (
<<、>>)条件 (
?、:)
~ などの単項演算子と単項の + または - も、複合演算子と見なされます。
複合式の結果をより大きな型に代入すると、暗黙的な変換により値、符号、精度、レイアウトの損失が起こる可能性があります。
実質的な型についての詳細は、MISRA C Rule 10.x の実質的な型を参照してください。
トラブルシューティング
ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。
チェック情報
| グループ: 実質的な型モデル |
| カテゴリ: 必要 |
| AGC カテゴリ: 推奨 |
バージョン履歴
1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace® Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.