From b0be9bdb8c6972d847cad50a1e699f1fa806ad99 Mon Sep 17 00:00:00 2001 From: fche Date: Mon, 3 Mar 2008 21:36:50 +0000 Subject: PR5516: assignment to $pointers 2008-03-03 Frank Ch. Eigler PR5516 * elaborate.cxx (symbol_fetcher, dead_assignment_remover): Support unresolved $target lvalues. Propagate pretty error messages. * staptree.cxx (varuse_collecting_visitor target_symbol): Ditto. * staptree.h: Corresponding decl. * loc2c.c: c_translate_pointer_store: New function. * loc2c.h: Corresponding decl. * tapsets.cxx (dwflpp::translate_final_fetch_or_store): Call it for $target pointer assignments. 2008-03-03 Frank Ch. Eigler PR5516 * buildok/twentynine.stp: New test. --- loc2c.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'loc2c.h') diff --git a/loc2c.h b/loc2c.h index 96cc2568..03f9e74c 100644 --- a/loc2c.h +++ b/loc2c.h @@ -77,6 +77,15 @@ void c_translate_store (struct obstack *pool, int indent, Dwarf_Die *die, Dwarf_Die *typedie, struct location **input, const char *rvalue); +/* Translate a fragment to write the given pointer value, + where *INPUT is the location of the pointer with that type. */ +void +c_translate_pointer_store (struct obstack *pool, int indent, + Dwarf_Addr dwbias __attribute__ ((unused)), + Dwarf_Die *typedie, struct location **input, + const char *rvalue); + + /* Emit the C fragment built up at LOC (i.e., the return value from the first c_translate_location call made). INDENT should match that passed to c_translate_* previously. -- cgit