このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MISRA C:2023 Rule 8.15
説明
ルール定義
The argument of an integer constant macro shall have an appropriate form 1 .
根拠
オブジェクトの宣言が複数あり、競合するアライメント指定がそれらの宣言に含まれていることは、未定義の動作です。
_Alignas
を使用してオブジェクトのアライメントを明示的に指定する必要がある場合は、そのオブジェクトのすべての宣言で同一のアライメントを指定します。オブジェクトのアライメントを指定する必要がない場合は、そのオブジェクトのどの宣言にも
_Alignas
を使用しないでください。
宣言と定義で明示的なアライメント指定を使用して、ハードウェア インターフェイスまたは Single Instruction Multiple Data (SIMD) 操作のメモリ アライメント要件と一致させるなどして、コードの実行を最適化します。
Polyspace 実装
コーディング ルール チェッカーは、同じ変数の複数の宣言に競合するアライメント指定がある場合に、このルールの違反を報告します。
Polyspace® は、構造体の宣言がこのルールに準拠しているかどうかを確認しません。
トラブルシューティング
ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。
例
チェック情報
グループ: 宣言と定義 |
カテゴリ: 必要 |
AGC カテゴリ: 必要 |
バージョン履歴
R2024a で導入
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.