Please put the question in the body of the message, not just in the
subject header.
The question was:
Whats the legal state of @ character in identifiers?
I know that some compilers accept it.
Really? I know some compilers accept $ in identifiers, but I've never
heard of one that accepts @.
But was it ever part in some C (88/90/99) standard?
The @ character is not part of the basic character set, so
a compiler isn't even required to accept it in a source file.
In C89/C90, the syntax for identifiers permits only letters, digits
and underscores. An implementation could permit additional characters
as an extension, but it would still have to emit a diagnostic if you
use anything other than the standard characters.
In C99, the syntax was extended to allow "other implementation-defined
characters", so a C99 compiler may, but need not, permit @ in
identifiers.
Can somebody tell me which compilers do support this character?
None that I know of. Why do you ask? Do you have a need to use @
characters in identifiers?