This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/43313] ICE with non-POD and covariant return thunks
- From: "bergner at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 07 Nov 2012 23:33:54 +0000
- Subject: [Bug c++/43313] ICE with non-POD and covariant return thunks
- Auto-submitted: auto-generated
- References: <bug-43313-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43313
--- Comment #7 from Peter Bergner <bergner at gcc dot gnu.org> 2012-11-07 23:33:54 UTC ---
Backtrace:
#0 fancy_abort (file=0x113d6b90
"/home/bergner/gcc/gcc-fsf-mainline-base/gcc/expr.c", line=7597,
function=0x113d7158 <expand_expr_addr_expr_1(tree_node*, rtx_def*,
machine_mode, expand_modifier, unsigned char)::__FUNCTION__>
"expand_expr_addr_expr_1")
at /home/bergner/gcc/gcc-fsf-mainline-base/gcc/diagnostic.c:1143
#1 0x000000001066f4e0 in expand_expr_addr_expr_1 (exp=0xfffb5cd1700,
target=0x0, tmode=SImode,
modifier=EXPAND_NORMAL, as=0 '\000') at
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/expr.c:7597
#2 0x000000001066fdd4 in expand_expr_addr_expr (exp=0xfffb5a962e0, target=0x0,
tmode=SImode,
modifier=EXPAND_NORMAL) at
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/expr.c:7706
#3 0x000000001066b0dc in expand_expr_real_1 (exp=0xfffb5a962e0, target=0x0,
tmode=VOIDmode,
modifier=EXPAND_NORMAL, alt_rtl=0x0) at
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/expr.c:10386
#4 0x000000001066b328 in expand_expr_real (exp=0xfffb5a962e0, target=0x0,
tmode=VOIDmode,
modifier=EXPAND_NORMAL, alt_rtl=0x0) at
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/expr.c:7866
#5 0x00000000104d8084 in expand_normal (exp=0xfffb5a962e0)
at /home/bergner/gcc/gcc-fsf-mainline-base/gcc/expr.h:450
...
(gdb) p DECL_P (exp)
$22 = true
(gdb) p TREE_ADDRESSABLE (exp)
$23 = 1
(gdb) p ! MEM_P (result)
$24 = true
(gdb) p ! targetm.calls.allocate_stack_slots_for_args()
$25 = false
(gdb) ptree exp
<parm_decl 0xfffb5cd1700 PidIndex
type <record_type 0xfffb5c2fb58 CRemapPidIndex type_5 QI
size <integer_cst 0xfffb5a92540 constant 8>
unit size <integer_cst 0xfffb5a92560 constant 1>
align 8 symtab 0 alias set -1 canonical type 0xfffb5c2fb58
fields <type_decl 0xfffb5b94b78 CRemapPidIndex type <record_type
0xfffb5c2fdf8 CRemapPidIndex>
nonlocal decl_4 VOID file foo.ii line 4 col 67
align 1 context <record_type 0xfffb5c2fb58 CRemapPidIndex> result
<record_type 0xfffb5c2fb58 CRemapPidIndex>
> context <translation_unit_decl 0xfffb5b90170 D.1>
full-name "class CRemapPidIndex"
X() X(constX&) this=(X&) n_parents=1 use_template=0 interface-unknown
pointer_to_this <pointer_type 0xfffb5cc4398> chain <type_decl
0xfffb5b94898 CRemapPidIndex>>
addressable used QI file foo.ii line 18 col 53 size <integer_cst
0xfffb5a92540 8> unit size <integer_cst 0xfffb5a92560 1>
align 8 context <function_decl 0xfffb5c7f400
_ZTch0_h4_N8CPlayout14CreateCarouselE14CRemapPidIndex>
(reg/v:QI 125 [ PidIndex ]) arg-type <record_type 0xfffb5c2fb58
CRemapPidIndex>
incoming-rtl (mem:QI (reg:SI 4 4) [0 S1 A8])>