I
Ian Collins
That I can't answer. I would expect that requiring compilers to allow
such identifiers to be used as constant expressions would complicate
the compiler somewhat, but I'm not sure whether that's the main reason
why it wasn't done.
Not adopting this rule was one of the big missed opportunities in C99.
I can't imagine any exiting code being broken by this change.