This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/48073] ICE with -flto in templated C++ code


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |lto
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2011.03.11 14:35:00
         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-03-11 14:35:00 UTC ---
Confirmed.  We're in

4318    static inline void
4319    free_lang_data_in_one_sizepos (tree *expr_p)
4320    {
4321      tree expr = *expr_p;
4322      if (CONTAINS_PLACEHOLDER_P (expr))
4323        *expr_p = build0 (PLACEHOLDER_EXPR, TREE_TYPE (expr));
4324    }

for

 <minus_expr 0x7ffff7ff91f8
    type <integer_type 0x7ffff7ee9000 long unsigned int public unsigned
sizetype DI
        size <integer_cst 0x7ffff7ed37a8 constant 64>
        unit size <integer_cst 0x7ffff7ed37d0 constant 8>
        align 64 symtab 0 alias set -1 canonical type 0x7ffff7ee9000 precision
64 min <integer_cst 0x7ffff7ed37f8 0> max <integer_cst 0x7ffff7ed3e88 -1>>

    arg 0 <scope_ref 0x7ffff7ff91c0
        arg 0 <record_type 0x7ffff5b909d8 TListLength type_0 type_5 type_6 VOID
            align 8 symtab 0 alias set -1 canonical type 0x7ffff5b7ec78 context
<translation_unit_decl 0x7ffff7edf958 D.1>
            full-name "struct TListLength<Moves>"
            no-binfo use_template=1 interface-unknown
            chain <type_decl 0x7ffff5b917e8 TListLength>>
        arg 1 <identifier_node 0x7ffff5b8d108 Ret
        bindings <(nil)>
        local bindings <(nil)>>>
    arg 1 <integer_cst 0x7ffff7efc000 type <integer_type 0x7ffff7ee9498 int>
constant 1>>

which is the max-value of

 <integer_type 0x7ffff5b90a80
    type <integer_type 0x7ffff7ee9000 long unsigned int public unsigned
sizetype DI
        size <integer_cst 0x7ffff7ed37a8 constant 64>
        unit size <integer_cst 0x7ffff7ed37d0 constant 8>
        align 64 symtab 0 alias set -1 canonical type 0x7ffff7ee9000 precision
64 min <integer_cst 0x7ffff7ed37f8 0> max <integer_cst 0x7ffff7ed3e88 -1>>
    type_0 type_6 DI size <integer_cst 0x7ffff7ed37a8 64> unit size
<integer_cst 0x7ffff7ed37d0 8>
    align 64 symtab 0 alias set -1 structural equality precision 64 min
<integer_cst 0x7ffff7ed3410 0> max <minus_expr 0x7ffff7ff91f8>>

which is in TYPE_DOMAIN of an array-type of a field-decl of DDQMC which
is the type of an IDENTIFIER_NODE.

I have a patch.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]