aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2009-09-17 20:29:56 +0000
committerJakub Jelinek <jakub@gcc.gnu.org>2009-09-17 22:29:56 +0200
commit417b30235b1bd5a8af13a21741f7845d4dff3029 (patch)
tree719894ec4613cc62f0842198d22602365ed38b10
parente7f373fa6952ad2c1bc8980dc29f584127ee0171 (diff)
downloadgcc-417b30235b1bd5a8af13a21741f7845d4dff3029.zip
gcc-417b30235b1bd5a8af13a21741f7845d4dff3029.tar.gz
gcc-417b30235b1bd5a8af13a21741f7845d4dff3029.tar.bz2
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
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/dwarf2out.c12
2 files changed, 10 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bc01e5e..590c809 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 7e43d1b..d2d2fef 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -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);