https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107516

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
3416      size = int_size_in_bytes (TREE_TYPE (exp));
3417      gcc_checking_assert (size >= 0);
3418      gcc_checking_assert (TREE_CODE (exp) != STRING_CST
3419                           || size >= TREE_STRING_LENGTH (exp));
(gdb) p size
$1 = 4
(gdb) p exp->string.length
$3 = 6
(gdb) p debug_tree (exp)
 <string_cst 0x7ffff6408b80
    type <array_type 0x7ffff6428150
        type <integer_type 0x7ffff6428000 wchar_t readonly type_6 SI
            size <integer_cst 0x7ffff628b210 constant 32>
            unit-size <integer_cst 0x7ffff628b228 constant 4>
            align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff6428000 precision:32 min <integer_cst 0x7ffff628b5d0 -2147483648> max
<integer_cst 0x7ffff628b5e8 2147483647>
            pointer_to_this <pointer_type 0x7ffff6428888>>
        type_6 SI size <integer_cst 0x7ffff628b210 32> unit-size <integer_cst
0x7ffff628b228 4>
        align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff6428150
        domain <integer_type 0x7ffff6294d20 type <integer_type 0x7ffff6289000
sizetype>
            type_6 DI
            size <integer_cst 0x7ffff6266fc0 constant 64>
            unit-size <integer_cst 0x7ffff6266fd8 constant 8>
            align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff6294d20 precision:64 min <integer_cst 0x7ffff628b000 0> max <integer_cst
0x7ffff628b000 0>>
        pointer_to_this <pointer_type 0x7ffff6428a80>>
    readonly constant asm_written static "ms\000\000\000\000">
(gdb) p debug_generic_expr (0x7ffff6428150)
const wchar_t[1]

Bernd - I see it as us having an excess 2-byte nul terminator?

Reply via email to