[Bug c++/82084] [5/6/7/8 Regression] ICE: constructing wstring with -O3
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Sep 4 10:04:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82084
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
The STRING_CST isn't handled by native_encode_string which is why it fails:
static int
native_encode_string (const_tree expr, unsigned char *ptr, int len, int off)
{
tree type = TREE_TYPE (expr);
HOST_WIDE_INT total_bytes;
if (TREE_CODE (type) != ARRAY_TYPE
|| TREE_CODE (TREE_TYPE (type)) != INTEGER_TYPE
|| (GET_MODE_BITSIZE (SCALAR_INT_TYPE_MODE (TREE_TYPE (type)))
!= BITS_PER_UNIT)
|| !tree_fits_shwi_p (TYPE_SIZE_UNIT (type)))
return 0;
not sure why it only handles byte-sized literals, possibly endianess
related.
Going to handle those like fixed-point support (build a tree int and
encode that...).
More information about the Gcc-bugs
mailing list