[Bug c++/53848] [4.8 regression] ICE in decl_linkage at ../../gcc-trunk/gcc/cp/tree.c:3215

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jul 4 10:54:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53848

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-07-04
     Ever Confirmed|0                           |1

--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-04 10:53:51 UTC ---
Confirmed.

Program received signal SIGSEGV, Segmentation fault.
0x000000000080dbfe in decl_linkage (decl=0x7ffff6f5cd90)
    at /space/rguenther/src/svn/trunk/gcc/cp/tree.c:3215
3215        return decl_linkage (TYPE_NAME (DECL_CONTEXT (decl)));
(gdb) l
3210        return lk_external;
3211
3212      /* Linkage of a CONST_DECL depends on the linkage of the enumeration
3213         type.  */
3214      if (TREE_CODE (decl) == CONST_DECL)
3215        return decl_linkage (TYPE_NAME (DECL_CONTEXT (decl)));
3216
3217      /* Some things that are not TREE_PUBLIC have external linkage, too.
3218         For example, on targets that don't have weak symbols, we make all
3219         template instantiations have internal linkage (in the object
(gdb) call debug_tree (decl)
 <const_decl 0x7ffff6f5cd90 e
    type <integer_type 0x7ffff6f775e8 int public SI
        size <integer_cst 0x7ffff6f7d100 constant 32>
        unit size <integer_cst 0x7ffff6f7d120 constant 4>
        align 32 symtab 0 alias set -1 canonical type 0x7ffff6f775e8 precision
32 min <integer_cst 0x7ffff6f7d0a0 -2147483648> max <integer_cst 0x7ffff6f7d0c0
2147483647>
        pointer_to_this <pointer_type 0x7ffff6f852a0>>
    VOID file t.ii line 5 col 10
    align 1
   >

no DECL_CONTEXT.



More information about the Gcc-bugs mailing list