This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/48073] ICE with -flto in templated C++ code
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 11 Mar 2011 14:35:16 +0000
- Subject: [Bug c++/48073] ICE with -flto in templated C++ code
- Auto-submitted: auto-generated
- References: <bug-48073-4@http.gcc.gnu.org/bugzilla/>
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.