IDENTIFIER_NODE represents a slightly more general concept
than the standard C or C++ concept of identifier. In particular, an
IDENTIFIER_NODE may contain a ‘$’, or other extraordinary
There are never two distinct
IDENTIFIER_NODEs representing the
same identifier. Therefore, you may use pointer equality to compare
IDENTIFIER_NODEs, rather than using a routine like
get_identifier to obtain the unique
IDENTIFIER_NODE for a supplied string.
You can use the following macros to access identifiers:
char*. This string is always
NUL-terminated, and contains no embedded
IDENTIFIER_POINTER, not including the trailing
NUL. This value of
IDENTIFIER_LENGTH (x)is always the same as
strlen (IDENTIFIER_POINTER (x)).
IDENTIFIER_NODEholds the type to which the conversion operator converts.