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:
Alexandre Oliva 2009-09-17 20:29:56 +00:00 committed by Jakub Jelinek
parent e7f373fa69
commit 417b30235b
2 changed files with 10 additions and 7 deletions

View file

@ -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.

View file

@ -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);