From 417b30235b1bd5a8af13a21741f7845d4dff3029 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 17 Sep 2009 20:29:56 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/dwarf2out.c | 12 +++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc01e5e9136..590c809aee9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-09-17 Alexandre Oliva + + * dwarf2out.c (loc_descriptor): Emit DW_OP_stack_value and + DW_OP_implicit_value even without dwarf_version 4. + 2009-09-17 Jan Hubicka * dwarf2out.c: Include tree-pass.h and gimple.h. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 7e43d1b0acf..d2d2fefd153 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);