メインコンテンツ

MISRA C:2023 Rule 21.2

A reserved identifier or reserved macro name shall not be declared

R2024a 以降

説明

A reserved identifier or reserved macro name shall not be declared 1 .

根拠

規格では予約された識別子を特別に扱う実装を許可しています。予約された識別子を再利用する場合、未定義の動作が発生する可能性があります。

Polyspace 実装

  • 標準ライブラリ マクロ、オブジェクトまたは関数に対応するマクロ名を定義する場合、ルール 21.1 に違反しています。

  • ルールでは仮定義は定義と見なされます。

Polyspace® が違反として報告する予約済み識別子には、aborterror、および absatancalloc などの関数名、elifendif などの命令、EOF などの特殊文字、その他の言語特有のキーワードが含まれます。

トラブルシューティング

ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。

チェック情報

グループ: 標準ライブラリ
カテゴリ: 必要
AGC カテゴリ: 必要
PQL 名: std.misra_c_2023.R21_2

バージョン履歴

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.