主要内容

MISRA C:2012 Rule 21.2

A reserved identifier or reserved macro name shall not be declared

描述

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_2012.R21_2

版本历史记录

在 R2014b 中推出


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.