aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2021-12-17 14:52:38 -0500
committerMarek Polacek <polacek@redhat.com>2022-01-03 14:00:34 -0500
commit122a75488c98b898df1a6f2ed4e48836a5d72d7a (patch)
treefd8b3db0b5face43dee9508d3cbb818282a5f76e
parent4003ecbcedca2c36de762a8171b90a7969edce82 (diff)
downloadgcc-122a75488c98b898df1a6f2ed4e48836a5d72d7a.zip
gcc-122a75488c98b898df1a6f2ed4e48836a5d72d7a.tar.gz
gcc-122a75488c98b898df1a6f2ed4e48836a5d72d7a.tar.bz2
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 *.
-rw-r--r--gcc/cp/parser.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index bd5cb21..4475f79 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);