From: Marek Polacek Date: Fri, 17 Dec 2021 19:52:38 +0000 (-0500) Subject: c++: Avoid narrowing in make_char_string_pack X-Git-Tag: basepoints/gcc-13~2120 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=122a75488c98b898df1a6f2ed4e48836a5d72d7a;p=thirdparty%2Fgcc.git c++: Avoid narrowing in make_char_string_pack This fixes gcc/cp/parser.c:4618:41: warning: narrowing conversion of '(char)(*(str + ((sizetype)i)))' from 'char' to 'unsigned char' [-Wnarrowing] 4618 | unsigned char s[3] = { '\'', str[i], '\'' }; | ~~~~~^ gcc/cp/ChangeLog: * parser.c (make_char_string_pack): Add a cast to const unsigned char *. --- diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index bd5cb21fba7e..4475f7929166 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -4607,7 +4607,8 @@ make_char_string_pack (tree value) { tree charvec; tree argpack = make_node (NONTYPE_ARGUMENT_PACK); - const char *str = TREE_STRING_POINTER (value); + const unsigned char *str + = (const unsigned char *) TREE_STRING_POINTER (value); int i, len = TREE_STRING_LENGTH (value) - 1; tree argvec = make_tree_vec (1);