------- Comment #2 from jakub at gcc dot gnu dot org 2009-09-03 09:51 ------- <parm_decl 0x7ffff2aca750 c type <real_type 0x7ffff2ab1000 TFtype sizes-gimplified TF size <integer_cst 0x7ffff2debc00 constant 128> unit size <integer_cst 0x7ffff2debc30 constant 16> align 128 symtab -223674816 alias set -1 canonical type 0x7ffff2e0b840 precision 128 pointer_to_this <pointer_type 0x7ffff2acbf00>> used TF file ../../../gcc-svn/trunk/libgcc/../gcc/libgcc2.c line 1896 col 38 size <integer_cst 0x7ffff2debc00 128> unit size <integer_cst 0x7ffff2debc30 16> align 128 context <function_decl 0x7ffff2ec0b00 __divtc3> (reg/v:TF 11 $11 [orig:188 c ] [188]) arg-type <real_type 0x7ffff2ab1000 TFtype> incoming-rtl (reg:DI 19 $19) chain <parm_decl 0x7ffff2aca7e0 d>>
Note the different mode between DECL_INCOMING_RTL and DECL_RTL. More importantly, $19 doesn't hold the value c at all, *(long double *)$19 does. Not sure how should var-tracking.c find out this fact. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41238