The standard, predefined macros, such as __FILE__
and __LINE__
, are primarily intended for use by the implementation, and
changing them could result in undefined behavior.
This rule checks that the following predefined macros are not defined, undefined, or redefined: assert
, errno
,
__FILE__
, __LINE__
, __TIME__
, __DATE__
, __TIMESTAMP__
, __COUNTER__
,
__INCLUDE_LEVEL__
, __BASE_FILE__
, and _Pragma
.
Noncompliant code example
#undef __LINE__