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__