c - Width prefixes to string constants -
the latest version of c standard provides width prefixes string constants e.g. u8"a"
single preprocessing token.
does whether 1 or 2 preprocessing tokens depend on exact letters in prefix? e.g. case u9"a"
still 2 preprocessing tokens?
c11 specifies in 6.4
string literal 1 of pre-processing tokens:
preprocessing-token: header-name identifier pp-number character-constant string-literal punctuator each non-white-space character cannot 1 of above
hence u8"a"
single token because string literal section 6.4.5
lists valid option:
string-literal: encoding-prefix(opt) " s-char-sequence(opt) " encoding-prefix: u8 u u l
the sequence u9"a"
not string literal because u9
not 1 of valid prefixes.
the u9
(from reading) treated identifier while "a"
string literal, 2 separate pre-processing tokens.
Comments
Post a Comment