prepare_call_arguments failed to handle (call_insn:TI 17 12 21 2 (set (reg:SI 0 ax) (call (mem:QI (symbol_ref:DI ("_ZN9__gnu_cxx17__pool_alloc_base17_M_allocate_chunkEmRi") [flags 0x3] <function_decl 0x7ffff0ac4500 _M_allocate_chunk>) [0 _M_allocate_chunk S1 A8]) (const_int 0 [0]))) /export/gnu/import/git/gcc-x32/libstdc++-v3/src/pool_allocator.cc:136 935 {*call_value_0_rex64} (expr_list:REG_DEAD (reg:SI 5 di) (expr_list:REG_DEAD (reg:SI 4 si) (expr_list:REG_DEAD (reg:SI 1 dx) (nil)))) (expr_list:REG_DEP_TRUE (use (reg:SI 5 di)) (expr_list:REG_DEP_TRUE (use (reg:SI 4 si)) (expr_list:REG_DEP_TRUE (use (reg:SI 1 dx)) (nil))))) (gdb) which leads to (gdb) call debug_rtx (item) (concat:SI (reg:SI 1 dx) (subreg:SI (value/u:DI 10:3917 @0x1c537e8/0x1c6de40) 0))
A patch is posed at http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00965.html
Author: hjl Date: Thu Mar 17 19:51:03 2011 New Revision: 171108 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=171108 Log: Check SUBREG in prepare_call_arguments. 2011-03-17 H.J. Lu <hongjiu.lu@intel.com> PR debug/48160 * var-tracking.c (prepare_call_arguments): Check SUBREG. Modified: trunk/gcc/ChangeLog trunk/gcc/var-tracking.c
Fixed.