This code:
compiled with:
-std=c11 -pedantic -Wall -Wextra
leads to:
instead of:
warning: declaration of reserved identifier `__x`
Per C11, 7.1.3 Reserved identifiers, 2:
If the program declares or defines an identifier in a context in which it is reserved (other than as allowed by 7.1.4), or defines a reserved identifier as a macro name, the behavior is undefined.
Hence, the enhancement is: diagnose declaration or definition of reserved identifiers (all possible cases, see C11, 7.1.3 Reserved identifiers) to avoid undefined behavior.
@AaronBallman Any comments / ideas / thoughts?