diff options
Diffstat (limited to 'libcpp/expr.c')
-rw-r--r-- | libcpp/expr.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libcpp/expr.c b/libcpp/expr.c index b8e88c50f33..3dc5c0bf238 100644 --- a/libcpp/expr.c +++ b/libcpp/expr.c @@ -307,6 +307,8 @@ cpp_userdef_char_remove_type (enum cpp_ttype type) return CPP_CHAR16; else if (type == CPP_CHAR32_USERDEF) return CPP_CHAR32; + else if (type == CPP_UTF8CHAR_USERDEF) + return CPP_UTF8CHAR; else return type; } @@ -325,6 +327,8 @@ cpp_userdef_char_add_type (enum cpp_ttype type) return CPP_CHAR16_USERDEF; else if (type == CPP_CHAR32) return CPP_CHAR32_USERDEF; + else if (type == CPP_UTF8CHAR) + return CPP_UTF8CHAR_USERDEF; else return type; } @@ -350,7 +354,8 @@ cpp_userdef_char_p (enum cpp_ttype type) if (type == CPP_CHAR_USERDEF || type == CPP_WCHAR_USERDEF || type == CPP_CHAR16_USERDEF - || type == CPP_CHAR32_USERDEF) + || type == CPP_CHAR32_USERDEF + || type == CPP_UTF8CHAR_USERDEF) return true; else return false; @@ -1029,6 +1034,7 @@ eval_token (cpp_reader *pfile, const cpp_token *token, case CPP_CHAR: case CPP_CHAR16: case CPP_CHAR32: + case CPP_UTF8CHAR: { cppchar_t cc = cpp_interpret_charconst (pfile, token, &temp, &unsignedp); @@ -1214,6 +1220,7 @@ _cpp_parse_expr (cpp_reader *pfile, bool is_if) case CPP_WCHAR: case CPP_CHAR16: case CPP_CHAR32: + case CPP_UTF8CHAR: case CPP_NAME: case CPP_HASH: if (!want_value) |