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