dwarf2out.c (loc_descriptor): Emit DW_OP_stack_value and DW_OP_implicit_value even without dwarf_version 4.
* dwarf2out.c (loc_descriptor): Emit DW_OP_stack_value and DW_OP_implicit_value even without dwarf_version 4. From-SVN: r151815
This commit is contained in:
parent
e7f373fa69
commit
417b30235b
2 changed files with 10 additions and 7 deletions
|
@ -1,3 +1,8 @@
|
|||
2009-09-17 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* dwarf2out.c (loc_descriptor): Emit DW_OP_stack_value and
|
||||
DW_OP_implicit_value even without dwarf_version 4.
|
||||
|
||||
2009-09-17 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* dwarf2out.c: Include tree-pass.h and gimple.h.
|
||||
|
|
|
@ -11777,7 +11777,7 @@ loc_descriptor (rtx rtl, enum machine_mode mode,
|
|||
break;
|
||||
|
||||
case CONST_INT:
|
||||
if (mode != VOIDmode && mode != BLKmode && dwarf_version >= 4)
|
||||
if (mode != VOIDmode && mode != BLKmode)
|
||||
{
|
||||
HOST_WIDE_INT i = INTVAL (rtl);
|
||||
int litsize;
|
||||
|
@ -11831,7 +11831,7 @@ loc_descriptor (rtx rtl, enum machine_mode mode,
|
|||
break;
|
||||
|
||||
case CONST_DOUBLE:
|
||||
if (mode != VOIDmode && dwarf_version >= 4)
|
||||
if (mode != VOIDmode)
|
||||
{
|
||||
/* Note that a CONST_DOUBLE rtx could represent either an integer
|
||||
or a floating-point constant. A CONST_DOUBLE is used whenever
|
||||
|
@ -11862,7 +11862,7 @@ loc_descriptor (rtx rtl, enum machine_mode mode,
|
|||
break;
|
||||
|
||||
case CONST_VECTOR:
|
||||
if (mode != VOIDmode && dwarf_version >= 4)
|
||||
if (mode != VOIDmode)
|
||||
{
|
||||
unsigned int elt_size = GET_MODE_UNIT_SIZE (GET_MODE (rtl));
|
||||
unsigned int length = CONST_VECTOR_NUNITS (rtl);
|
||||
|
@ -11950,8 +11950,7 @@ loc_descriptor (rtx rtl, enum machine_mode mode,
|
|||
&& SYMBOL_REF_TLS_MODEL (rtl) != TLS_MODEL_NONE)
|
||||
break;
|
||||
case LABEL_REF:
|
||||
if (mode != VOIDmode && GET_MODE_SIZE (mode) == DWARF2_ADDR_SIZE
|
||||
&& dwarf_version >= 4)
|
||||
if (mode != VOIDmode && GET_MODE_SIZE (mode) == DWARF2_ADDR_SIZE)
|
||||
{
|
||||
loc_result = new_loc_descr (DW_OP_implicit_value,
|
||||
DWARF2_ADDR_SIZE, 0);
|
||||
|
@ -11963,8 +11962,7 @@ loc_descriptor (rtx rtl, enum machine_mode mode,
|
|||
|
||||
default:
|
||||
if (GET_MODE_CLASS (mode) == MODE_INT && GET_MODE (rtl) == mode
|
||||
&& GET_MODE_SIZE (GET_MODE (rtl)) <= DWARF2_ADDR_SIZE
|
||||
&& dwarf_version >= 4)
|
||||
&& GET_MODE_SIZE (GET_MODE (rtl)) <= DWARF2_ADDR_SIZE)
|
||||
{
|
||||
/* Value expression. */
|
||||
loc_result = mem_loc_descriptor (rtl, VOIDmode, initialized);
|
||||
|
|
Loading…
Add table
Reference in a new issue