[Bug target/69804] [5/6] ICE with -fsanitize=undefined -fcheck-pointer-bounds -mmpx

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Feb 15 12:30:00 GMT 2016


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-02-15
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.

#1  0x0000000000f4335f in chkp_walk_pointer_assignments (lhs=
    <var_decl 0x7ffff69e3360 *.Lubsan_data0>, 
    rhs=<constructor 0x7ffff69e4a68>, arg=0x7fffffffdc60, 
    handler=0xf3abfd <chkp_add_modification_to_stmt_list(tree, tree, void*)>)
    at /space/rguenther/src/svn/trunk3/gcc/tree-chkp.c:3725
3725                  if (chkp_type_has_pointer (TREE_TYPE (field)))
(gdb) l
3720              unsigned HOST_WIDE_INT cnt;
3721              tree val;
3722
3723              FOR_EACH_CONSTRUCTOR_ELT (CONSTRUCTOR_ELTS (rhs), cnt, field,
val)
3724                {
3725                  if (chkp_type_has_pointer (TREE_TYPE (field)))
3726                    {
3727                      tree lhs_field = chkp_build_component_ref (lhs,
field);
3728                      chkp_walk_pointer_assignments (lhs_field, val, arg,
handler);
3729                    }
(gdb) p field
$1 = <tree 0x0>

    val <addr_expr 0x7ffff69c5fe0
        type <pointer_type 0x7ffff69e2888 type <record_type 0x7ffff69e2690
__ubsan_type_descriptor>
            unsigned DI
            size <integer_cst 0x7ffff688bca8 constant 64>
            unit size <integer_cst 0x7ffff688bcc0 constant 8>
            align 64 symtab 0 alias set 8 canonical type 0x7ffff69e2888>
        constant
        arg 0 <var_decl 0x7ffff69e32d0 *.Lubsan_type0 type <record_type
0x7ffff69e2690 __ubsan_type_descriptor>
            addressable asm_written used static ignored BLK file (null) line 0
col 0
            size <integer_cst 0x7ffff69e4918 constant 80>
            unit size <integer_cst 0x7ffff69e4930 constant 10>
            align 16 initial <constructor 0x7ffff69e4948>
            (mem/c:BLK (symbol_ref:DI ("*.Lubsan_type0") [flags 0x2] <var_decl
0x7ffff69e32d0 *.Lubsan_type0>) [2 *.Lubsan_type0+0 S10 A16])>>

I think that's somewhat against GENERIC rules.


More information about the Gcc-bugs mailing list