summaryrefslogtreecommitdiffstats
path: root/loc2c.c
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2009-07-07 20:19:40 +0200
committerMark Wielaard <mjw@redhat.com>2009-07-07 20:19:40 +0200
commit5cc5056844a402c6cf466c8ca45119a4540b5900 (patch)
treea2dc259580a48e577ffc7bc764ccf02f8978be0c /loc2c.c
parent83eaf9b5f3d1f1287b7962efc6bc703357b984ba (diff)
downloadsystemtap-steved-5cc5056844a402c6cf466c8ca45119a4540b5900.tar.gz
systemtap-steved-5cc5056844a402c6cf466c8ca45119a4540b5900.tar.xz
systemtap-steved-5cc5056844a402c6cf466c8ca45119a4540b5900.zip
PR10348 Compilation failure with gcc 4.5 snapshot: switch jumps over vars.
* loc2c-test.c (print_vars): Define attr_mem, typedie_mem and typedie before switch. * loc2c.c (translate): Wrap case DW_OP_drop in block brackets. (location_relative): Initialize stack.
Diffstat (limited to 'loc2c.c')
-rw-r--r--loc2c.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/loc2c.c b/loc2c.c
index 7cae16cd..f95400bb 100644
--- a/loc2c.c
+++ b/loc2c.c
@@ -251,9 +251,11 @@ translate (struct obstack *pool, int indent, Dwarf_Addr addrbias,
break;
case DW_OP_drop:
- POP (ignore);
- emit ("%*s/* drop " STACKFMT "*/\n", indent * 2, "", ignore);
- break;
+ {
+ POP (ignore);
+ emit ("%*s/* drop " STACKFMT "*/\n", indent * 2, "", ignore);
+ break;
+ }
case DW_OP_pick:
sp = expr[i].number;
@@ -622,7 +624,7 @@ location_relative (struct obstack *pool,
const Dwarf_Op *expr, size_t len, Dwarf_Addr address,
struct location **input, Dwarf_Attribute *fb_attr)
{
- Dwarf_Sword *stack;
+ Dwarf_Sword *stack = NULL;
unsigned int stack_depth = 0, max_stack = 0;
inline void deepen (void)
{